目录
1. Java中的多态性理解(注意与C++区分) 1
2. is-a关系和is-like-a关系 4
3. 运行时类型信息(RTTI + 反射) 4
4. 代理模式与Java中的动态代理 11
5. 即时编译器技术 — JIT 14
6. 访问控制权限 15
7. 组合和继承之间的选择 16
8. final关键字 16
9. 策略设计模式与适配器模式的区别 17
10. 内部类 17
11. String类型 — 不可变 18
12. 序列化控制 22
?
1. Java中的多态性理解(注意与C++区分)
Java中除了static方法和final方法(private方法本质上属于final方法,因为不能被子类访问)之外,其它所有的方法都是动态绑定,这意味着通常情况下,我们不必判定是否应该进行动态绑定—它会自动发生。
final方法会使编译器生成更有效的代码,这也是为什么说声明为final方法能在一定程度上提高性能(效果不明显)。
如果某个方法是静态的,它的行为就不具有多态性:
class StaticSuper {
public static String staticGet() {
return Base staticGet();
}
public String dynamicGet() {
retur
原创力文档

文档评论(0)