-
导出类的初始化是从基类开始向下扩展的,先初始化基类,再初始化由基类继承而来的类。
-
若类B需要类A中的一些甚至全部方法,但类B实际上不是并不是真正的类A,则可以通过代理的方式在B中实现所需要的A的方法,Java不直接支持代理,借助IDEA可方便的实现
- @override注解可以防止在不想重载时而意外的进行了重载。
- 类的组合:has-a 类的继承is-a
- public:可以被用于包外,static:只有一份,final:指明是一个常量
- 不能因为一个变量是final的就认为无法改变它的值,例如当一个引用被final修饰时意味着该引用不能指向另一个新的对象
- 使用final修饰方法可以把该方法锁定,以防止任何继承类修改它的含义
- final类不能被继承,该类的所有方法都被隐式指定为final
- 初始化及类的加载
-
类的代码在初次使用时才会被加载
- 导出类在初始化时,无论在导出类中是否会生成一个基类的对象,都会发生基类的初始化,根基类中的static初始化即会被执行
-