是class之间的继承,继承后子类会有父类的全部方法和属性
public class student extends person{
}
ctrl+h就可以出现继承树
下面这张图注意三个system的输出
可以通过调用子类去直接调用父类的方法

内存机制:
子类和父类是同一个对象,地址是一样的。

注意:
1.子类可以继承父类的属性和行为,但是不能继承父类的构造器
2.一个类只能继承一个直接父类
3.java不支持多继承(一个子类不能同时继承多个父类)但是可以多层继承(子-父-爷)
4.所有类都是object的子类
5.子类不能直接访问父类的私有对象和方法。但是可以直接访问父类的静态对象和属性(不能继承因为静态对象只能存在一份,但是可以直接访问。用类.对象就可以了)

原则:
1.在子类方法中访问成员变量/方法遵循就近原则:先子类局部范围找,然后子类成员范围找,然后父类成员范围找,再没有就报错。比如下面,子类和父类都拥有名字一样的方法 run(),这时候会调用子类中的run方法。

如果在子类中要指定调用子类的或父类的,可以直接在前面加上this.子类方法/变量或者super.父类方法/变量。

继承后构造器的特点:
子类的全部构造器会默认先访问父类构造器再执行自己的构造器:

调用父类的有参构造器:super(name,age);

this和·super:

如果用户不填默认值:


浙公网安备 33010602011771号