1.封装
封装就是在一个类中构造其特有的的属性和方法,使其成为一个特有的独立实体
2.继承
对于一些新类的属性和方法,他们有一些公共部分已经存在于的类中,他们可以通过继承关系来使用父类的功能,但是不能选择性继承父类的功能。
3.多态
一个引用变量到底指向哪一个实例对象,该引用变量调用的方法到底是哪一个类中的方法,是在程序运行中决定的。
指向子类的父类引用,他的方法只能访问父类的方法,而对于子类中存在的而父类中不存在的方法,该引用无法访问。若子类重写了父类的一些方法,那么在父类引用调用该方法实际调用的是子类重写的方法。
多态实现的必要条件:继承,重写,向上转型
4.多态方法调用优先级
继承链中方法的调用存在一个优先级:this.method(O)>super.method(O)>this.method((super)O)>super.method((super)O),
即 类.方法(对象)>父类.方法(对象)>类.方法(父类对象)>父类.方法(父类对象)