复用类
复用类
组合(has-a) 继承(is-a),面向对象程序设计的基石之一(封装,多态)组合与继承的选择:是否需要向上转型
组合语法
初始化
定义对象时,能够在构造器被调用之前初始化 在类的构造器中 正要使用这些对象之前,惰性初始化 实例初始化继承语法
为了继承,一般规则是数据成员指定为PRivate,方法指定为public.
初始化基类
构建过程是从基类”向外”扩散的
带参数的构造器
调用一个带参数的基类构造器,必须使用关键字super显式调用,并配上参数
class Game{ Game(int i){} } class BoardGame extends Game{ BoardGame(int i){ super(i); print(""); } }名称屏蔽
在导出类中重新定义方法名称不会屏蔽其在基类的任何版本,即重载 覆盖时,@Override注解可以防止你在不想重载时而意外地进行了重载final关键字
final数据
一个永不改变的编译时常量
空白final
提供灵活性,但要确保使用前被初始化. 例如:在重载构造器中赋予不同的值
final参数
可读不可改,主要用来向匿名内部类传递数据
final方法
在继承中使方法行为保持不变,并且不会被覆盖
final和private关键字
类中所有的private方法隐式指定为final的,由于无法调用,也就无法覆盖. 导出类中相同名称的方法是新方法,不是覆盖
final类
不可被继承