| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 继承 super -> 正文阅读 |
|
[人工智能]继承 super |
1 继承1.1 概念继承是面向对象最显著的一个特征 继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并扩展新的能力 java继承是会用已存在的类的定义作为基础建立新类的技术 新类的定义可以增加新的数据或者新的功能,也可以使用父类的功能,但不能选择性的继承父类(超类/基类) 这种继承使得复用一区的代码非常容易,能够大大的缩短开发的周期,降低开发费用 1.2 特点1.使用extends关键字来表示继承关系 2.相当于子类把父类的功能复制了一份 3.java只支持单继承 4.继承可以传递(爷爷/儿子/孙子这样的关系) 5.父类的私有成员也会被继承,但由于是私有的不可见,所以子类不能使用父类的私有资源 6.继承多用于功能的修改,子类可以在拥有父类功能的同时,进行功能扩展 7.像是is a的关系 2 super可以通过这个关键字使用父类的内容,Super代表的是父类的一个引用对象 注意:子啊构造方法里,出现的调用位置必须是第一行 3 方法重写Override1.继承以后,子类就拥有了父类的功能 2.在子类中,可以添加子类特有的功能,也可以修改父类的原有功能 3.子类中方法的前面与父类完全一样时,会发生覆盖/复写的现象 4.注意: 父类的私有方法不能被重写 5.重写的要求:两同两小一大 两同;方法名? 参数列表? 要完全一致 两小: 子类返回值类型小于等于父类的返回值类型(注意此处说的是继承关系,不是值大小) 子类抛出异常小于等于父类方法抛出异常 一大:子类方法的修饰符权限要大于等于父类被重写方法的修饰符权限 4 this与super的区别this代表的是本类对象的引用,我们可以把this看作是Cat this = new Cat(); super代表的是父类对象的引用,我们可以把super看作是Father super = new Father(); 当本类的成员变量与局部变量同名时,需要使用this.变量名指定本类的成员变量 当本类的成员变量与父类的成员变量同名时,需要使用super.变量名指定父类的成员变量 this可以实现调用本类的无参构造this(参数);表示调用本类的对应参数的构造 super也可以实现调用父类构造方法的功能 super();表示调用父类的无参构造 super(参数);表示调用父类的对应参数的构造 注意:super的使用前提示继承,没有父子类关系,就没有super 注意;this调用构造方法或者super调用构造方法,都必须出现在构造方法的第一行 注意: 如果父类没有无参构造,需要手动在子类构造方法的第一行调用其他的含参构造 如果子类重写了父类的方法以后,可以使用super,方法名(参数列表)来调用 5 重载Overload 与重写Override的区别重载: 在一个类中的现象: 同一个类中,存在方法名相同,参数列表不同的方法 重写:是指建立了继承关系以后,子类对父类的方法不满意,可以重写,遵循两同两小一大原则 重载的意义:是为了外界调用方法时不便,不管传入什么样的参数,都可以匹配到对应的同名方法 重写的意义: 子啊不修改源码的情况下,进行功能的修改与拓展(OCP原则:面向修改关闭,面向拓展开发) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/27 14:46:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |