1:组合,只需要在新的类中产生现有类的对象
初始化引用:在定义对象的地方,能够在构造器被调用前初始化,在构造器中,就在正要使用这些对象前(惰性初始化),使用实例初始化
2:继承,按照现有类的类型来创建新类
如果没有默认的基类构造器,或者想调用一个带参的基类构造器,就需要使用super显示地编写调用
protected关键字:当允许子类访问时,并且非子类不可以访问时
final关键字:对像的引用不可以改变,对像本身是可以被修改的,final参数时,方法中无法修改final指明的对象
final方法的使用原因:把方法锁定,以防任何继承类修改。
final和private:private方法都隐式的指定为final
final类:不可以继承
3:多态型:把对某个对象的引用视为对其基本类型的引用,在某个方法设置参数时,要将参数定义为基类型,方便扩展。
多态型的缺陷:
当基类是一个private方法时,子类重写了方法,当通过一个基类引用一个子类的对象时,对象不再表现子类的行为,而是基类的行为
域和静态方法不具有多态型