Java的继承思想
大约 2 分钟
Java的继承思想
- 继承是 类与类 之间的关系
- Java是单继承,不能多继承
- super的注意要点:
- super调用父类的构造方法,必须在构造方法的第一个
// 父类:
public class Father {
public Father(){
}
//如果是有参构造
// public Father(String name){
// //代码
// }
}
// 子类:
public class Son extends Father{
public Son(){
super();// 调用父类构造方法
// //如果是有参构造
// super("huo");
//下面可以写其他代码
}- super必须只能出现在子类的方法或者构造方法中
- super和this不能同时调用构造方法
- super和this的区别:
- 代表的对象不同:
- this:本身调用者这个对象
- super:代表父类对象的应用
- 前提:
- this:没有继承也可以使用
- super:只有继承条件下才可以使用
- 构造方法:
- this:本类的构造
- super:父类的构造
- 代表的对象不同:
- super是调用父类方法的关键字,比如super.xxx()
- 重写的注意点:
- 重写都是方法的重写,与属性无关
- 非静态和非私有的方法才能重写
- 修饰符范围可以扩大不能缩小
- 一个对象的实际类型是确定的 如下的实际类型均为Son 但是引用类型可以使用父类引用指向子类 如下son引用类型是Son,son1引用类型的Father
Son son = new Son(); // son的引用类型为Son(),实际类型为Son()
Father son1 = new Son(); // son1的引用类型为Father,实际类型为Son()
son.run();// Son继承的Father方法
son.run2();// 输出:重写了run2方法 原因是Son中重写了父类方法run2
son1.run3();// 报错,因为Father类中没有run3方法。
//由此可见:对象能执行哪些方法,主要看左边的引用类型,和右边实际类型关系不大