首页 > 其他分享 >继承,方法重写,supper,final,访问修饰符 ,根类Object

继承,方法重写,supper,final,访问修饰符 ,根类Object

时间:2024-11-19 17:18:14浏览次数:3  
标签:重写 修饰符 继承 子类 Object 根类 父类 方法 public

1.继承

继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。

如果某类B“继承”另某类A,就把这个B称为“A的子类派生类(subclass)”,而把类A称为“B的父类”也可以称为“A是B的超类基类(superclass)

为什么需要继承

1.提供代码的可重用性;

2.起到扩展作用。

语法

public class 子类名 extends 父类名{

}

java中只允许单继承,一个类只能有一个父类,但是允许多层继承。如A继承B,B继承C. 

注意:

符合IS-A标准,才能使用继承,谁是谁的一种。

创建子类对象时构造方法的执行顺序

构造方法的特点:

1.方法名与类名相同;2.无返回值

作用:

创建对象

 先执行父类的构造方法再执行子类的构造方法

例:下面顺序是

staticA,构造c,staticB,代码块a,构造A,代码块b,构造b

public class Test02 {
    public static void main(String[] args) {
        new B();
    }
}
class A{
    static {
        System.out.println("staticA");
    }
    {
        System.out.println("代码块a");
    }
    public A(){
        System.out.println("构造A");
    }
}
class B extends A{
    static C c=new C();
    static {
        System.out.println("staticB");
    }
    {
        System.out.println("代码块b");
    }
    public B(){
        System.out.println("构造b");
    }
}
class C{
    public C(){
        System.out.println("构造c");
    }
}

 2.方法重写

方法重写发生在父子类中,子类中出现与父类同名的方法

特点:

方法名与父类相同,参数相同,返回类型相同,访问修饰符不能小于父类,抛出异常不能大于父类

为什么需要重写

 父类中的功能无法满足子类中的需求时需要重写

重写后创建子类对象后,调用的方法是重写后的方法 

supper

super表示父类的对象。任何一个子类中都可以使用super来调用父类中的代码。 this本类的对象。

可以调用父类中的方法,也可以调用父类中的构造方法。

 final

final: 最终的。 修饰属性 修饰方法 修饰类都表示最终的。

修饰类: 表示该类不能被继承。例子: String类。

修饰方法: 表示该方法是一个最终的方法,表示不能被重写。

修饰属性: 表示该属性为常量。必须赋值。不允许改该值

3.访问修饰符 

可以限制类成员的访问范围

public:公有的,任何类都可以访问。

protected:保护的,同包或不同包下的子类可以访问

默认的default:同包下可以访问

private:私有的,表示同类可以访问

修饰符同一类内同一包内不同包的子类不同包的非子类适用对象
public可见可见可见可见类,接口,变量,方法
protected可见可见可见变量,方法
default可见可见类,接口,变量,方法
private可见变量,方法

 4.根类Object

 Object它是所有类的根类。如果一个类没有继承任何类,那么默认继承了Object.

常见的方法

toString()方法: 打印对象的信息。当打印一个对象时默认调用的就是toString方法。  

equals方法。

equals方法与==的区别

== 在基本数据类型:值内容, 引用类型时:地址
equals 重写:值内容(如String里面的equals方法) , equals不重写:地址

标签:重写,修饰符,继承,子类,Object,根类,父类,方法,public
From: https://blog.csdn.net/weixin_51635918/article/details/143886377

相关文章

  • QObject Event( )customEvent( ) 函数区别
    事件处理流程中的角色event函数event函数是QObject中事件处理的总入口。当有任何事件传递到一个QObject或者它的派生类对象时,这个函数首先被调用。它就像是一个事件调度中心,负责接收各种各样的事件,并根据事件的类型把它们分发给对应的具体处理函数。例如,对于......
  • net MVC ActionResultObjectValueAttribute
    MVC返回结果IActionResultIActionResult派生类如下......
  • Day33--属性的修饰符
    Day33--属性的修饰符public修饰符含义:被public修饰的属性可以在任何类中被访问。这是一种最宽松的访问控制级别。示例:classPerson{publicStringname;}publicclassMain{publicstaticvoidmain(String[]args){Personp=newPerson();......
  • from bson import ObjectId
    ObjectId是MongoDB中用于标识文档的唯一标识符(ID),由BSON库(bson)提供的一个类。以下是ObjectId的作用及其常用操作。ObjectId的作用唯一标识文档:每个存储在MongoDB中的文档都有一个_id字段,默认类型是ObjectId。它是12字节的值,由MongoDB自动生成,用来唯一标识......
  • 【Unity】ScriptableObject的应用和3D物体跟随鼠标移动:鼠标放置物体在场景中
    需求说明结合前篇,仓库管理和获取鼠标点击的世界坐标位置两篇内容,已经实现了:鼠标或键盘控制玩家移动;玩家触碰物体后,将物体放入仓库;鼠标点击仓库栏中的物体,任意放在空间中的功能。接下来想要实现:鼠标点击仓库栏的物体之后,物体会跟随鼠标移动;键盘控制待放置的......
  • 复杂型数据类型 指向的是对象Object
    在JavaScript中object类型包含的数据有很多,数组、普通对象、DOM节点、内置对象、函数等等都属于obejct类型常用的数组1.为什么要学习数组?之前学习的数据类型只能存储一个值比如:Number/String等我想存储班级中所有的学生的姓名此刻我该如何存储?2.数组的概念......
  • QObject,QMainWindpw,QWidget,QDialog介绍
    QObjectQObject的角色和特点在Qt框架中,QObject是整个对象模型的核心基类,它为Qt对象树和信号-槽机制提供了基础支持。很多Qt的类(包括QWidget、QDialog、QMainWindow)都直接或间接继承自QObject。QObject的核心功能对象树管理(ObjectTree)QObject提供了父子关......
  • GObject学习笔记(一)类和实例
    前言最近阅读Aravis源码,其中大量运用了GObject,于是打算学习一下。此系列笔记仅主要面向初学者,不会很深入探讨源码的细节,专注于介绍GObject的基本用法。此系列笔记参考GObjectTutorialforbeginners本文可在个人博客中阅读,体验更加套个盾:文中定义的名词只是为了更好地理解GO......
  • springboot3整合mybatisplus问题Invalid value type for attribute 'factoryBeanObjec
    版本说明:JDK版本:17springboot版本:3.3.5问题分析:springboot版本与mybatisplus版本不兼容解决办法:将mybatisplus版本替换为以下版本<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>......
  • UltimateDO_ An Efficient Framework to Marry Occupancy Prediction with 3D Object
    UltimateDO:AnEfficientFrameworktoMarryOccupancyPredictionwith3DObjectDetectionviaChannel2heightZoteroAbstractOccupancyand3Dobjectdetectionarecharacterizedastwostandardtasksinmodernautonomousdrivingsystem.Inordertodeploy......