| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> java继承中的细节 -> 正文阅读 |
|
[Java知识库]java继承中的细节 |
继承可以解决代码复用,当多个类存在相同的属性(变量),和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可。 基本语法: class 子类 extends 父类{ } 1)子类会自动拥有父类定义的属性及方法 2)父类又叫超类或基类 3)子类又叫派生类 继承优点: A: 代码的复用性提高 B: 代码的扩展性和维护性提高了 继承的细节: 1)子类继承了所有的属性和方法,非私有属性和方法在子类可以在子类直接访问但私有属性和方法不能在子类直接访问,要通过父类所提供的公共的方法进行访问。 2)子类必须调用父类的构造器,完成父类的初始化 3)当创建子类对象时,不管使用子类的哪个构造器,默认情况下总会调用父类的无参构造器,如果父类没有提供无参构造器,则必须在子类的构造器中使用super去指定使用父类的哪个构造器完成对父类的初始化工作,否则,编译不通过 4)如果希望指定去调用父类(基类)的某个构造器,则显示的调用一下:super(参数列表) 5)super在使用时,只能在构造器中使用且需放在构造器第一行, 6)super()和this()都只能放在构造器的第一行,因此这两个方法不能存在于一个构造器内(this()的含义为调用本类无参构造器,有参即在括号内加) 7)java的所有类都是Object类的子类,Object类是所有类的基类 8)父类构造器的调用不限于直接父类!将一直追溯到Object类(顶级父类) 9)子类最多只能继承一个父类(指直接继承),即java中是单继承机制(如果想要得到多继承的效果,不妨再在直接继承的子类再次进行继承定义) 10)不能滥用继承,子类与父类之间必须满足is-a的逻辑关系(即集合是否有相重合的部分) super关键字 super代表父类的引用,用于访问父类的属性,方法以及构造器 基本语法: a:访问父类的属性,但不能访问父类的private属性:super.属性名 b:访问父类的方法,但不能访问父类的private方法:super.方法名(参数列表) c:访问父类的构造器:super(参数列表);只能放在构造器中的第一句,且只能出现一句 super的便利及细节: 1)调用父类构造器的好处(分工明确:父类构造器用于父类属性的初始化,子类构造器用于子类属性的初始化) 2)当子类中有和父类中的成员(属性和方法)重名时,为了访问父类的成员,必须通过super。如果没有重名,使用super、this、直接访问都是一样的效果 3)super的访问不限于直接父类,如果隔代父类和本类中有同名的成员,也可以使用super去访问隔代类的成员;如果多个基类(上级类)都有同名成员,使用super访问遵循就近原则 super与this的比较
方法重写/覆盖override 方法覆盖(重写):子类有一个方法,和父类的某个方法名称、返回类型、参数一样,那么我们就说子类这个方法覆盖了父类的方法 注意事项以及使用细节: 1)子类方法的形参列表,方法名称,要和父类方法的形参列表,方法名称完全一样。 2)子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类 3)子类方法不能缩小父类方法的访问权限:public>protected>默认>private 重写与重载的比较:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 6:05:51- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |