导图社区 子类和继承
子类和继承的知识点总结,详细的总结了继承的概念,继承的语法格式,继承的含义。子类的继承性,构造方法的继承性原则,继承关系中对成员的访问.
面向对象内容的点理,详细的总结了面向对象的概念,类与对象的关系,类,对象的创建与使用,访问控制符。
这是一篇关于接口的思维导图,包括定义,语法定义格式,接口细节说明,接口回调,接口与抽象类的异同,接口变量做参数的内容点总结。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
子类和继承
继承的概念
继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关联体系。
类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类或基类,子类会自动拥有父类所有可继承的属性和方法。
继承的语法格式
[修饰符] class 子类名 extends 父类名 { // 程序核心代码}
使用extends关键字
继承的含义
子类可以沿用父类(被继承类)的某些特征
子类也可以具有自己独立的属性和操作
父类可以是自己编写的类也可以是java类库中的类。
只支持单继承,即一个类只能有一个直接父类
多个类可以继承同一个父类
支持多层继承,即一个父类可以去继承另外的父类
子类和父类是一种相对概念,即一个类是某个类父类的同时,也可以是另一个类的子类。
子类的继承性
子类和父类在同一包中的继承性
子类可继承了其父类中不是private的成员变量和方法。继承的成员变量以及方法的访问权限保持不变
子类和父类不在同一包中的继承性
子类只能继承父类的protected、public成员变量和方法,不能继承父类的友好变量和友好方法。继承的成员或方法的访问权限不变。
子类对父类私有属性或方法的访问
子类不能直接访问从父类中继承的私有属性及方法,但可以使用可访问的方法来间接访问。
重写父类方法
定义
在继承关系中,子类会自动继承父类中公共的方法,但有时在子类中需要对继承的方法进行一些修改,即对父类的方法进行重写
注意
子类中重写的方法需要和父类被重写的方法具有相同的方法名、参数列表以及返回值类型。
子类重写父类方法时,不能使用比父类中被重写的方法更严格的访问权限。
方法重载与方法重写的区别
方法重载可以出现在一个类中,也可以出现在父类与子类的继承关系中,并且重载方法的特征一定不完全相同
方法重写(覆盖)则要求子类中的方法特征与父类定义的对应方法的特征完全一样,即这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同。
super关键字
作用
访问父类的成员变量、成员方法和构造方法。(引入原因:在继承关系中,当子类重写父类的方法后,子类对象将无法直接访问父类被重写的方法。)
具体使用
字调用父类的成员变量和成员方法
super.成员变量 super.成员方法([参数1,参数2...])
字调用父类的构造方法
super([参数1,参数2...])
构造方法的继承性原则
1.构造方法不存在继承关系
2.如果子类没有构造方法,则它默认调用父类无参数的构造方法
3.如果子类有构造方法,那么在创建子类的对象时,则将先执行父类的构造方法,然后再执行子类的构造方法
4.如果子类有构造方法,但子类的构造方法中没有使用super关键字,则系统默认执行子类构造方法时会产生super()代码,即该构造方法会调用父类无参数的构造方法
5.对于父类中包含有参数的构造方法,子类可以通过在自己的构造方法中使用super关键字来引用,而且必须是子类构造方法中的第一条语句
继承关系中对成员的访问(最近匹配原则)
在子类中访问属性和方法时将优先查找自己定义的属性和方法。如果该成员在本类存在,则使用本类的,否则,按照继承层次的顺序到其祖先类查找
this关键字特指本类的对象引用,使用this访问成员则首先在本类中查找,如果没有,则到父类逐层向上找
super特指访问父类的成员,使用super首先到直接父类查找匹配成员,如果未找到,再逐层向上到祖先类查找
Object类
它是所有类的父类,即每个类都直接或间接继承自该类
Object类通常被称之为超类、基类或根类
当定义一个类时,如果没有使用extends关键字为这个类显示地指定父类,那么该类会默认继承Object类
常用方法
boolean equals(Object obj)
判断某个对象与此对象是否相等
final Class<?> getClass()
返回此Object的运行时类(反射)
int hashCode()
返回该对象的哈希码值
String toString()
返回该对象的字符串表示
void finalize()
垃圾回收器调用此方法来清理没有被任何引用变量所引用对象的资源