java 多态
多态的前提条件:
1,存在继承关系:
两个名词存在是的关系,便可以产生继承关系
eg:学生是人 人是学生的子类
父类只有一个,子类可以有多个。父类与子类是一对多的关系
任意一个类默认继承object。
子类可以继承父类公有的属性和方法(构造除外)
单继承,子类可对父类中的方法进行重载
创建子类对象之前一定会先创建父类对象
this指当前对象,super只是指代父类的一个关键字,并不是一个对象。
注意继承加载顺序:先静态后非静态,先块后构造,先父后子
2,子类重写父类中的方法
重写:存在继承关系,方法一致(内容不同),子类访问修饰符不低于父类修饰符。
修饰符: 无修饰符只能被本包内(只能同一级目录)的类访问
protected:
只能被本包与子类访问
public 全公开,全访问
private本类访问
public > protected > 缺省 > private
final 修饰引用变量的时候,表示变量的地址不能修改,也就是说无法二次new
final 修饰的变量全都在堆中
final 修饰的方法是无法被重写的
finla 修饰的类是无法被继承的
3,使用父类引用,子类对象
父类 a = new 子类
其中a决定了可以访问的资源,子类对象决定了执行资源
eg: