Java多态中的注意事项
来源:互联网 发布:手机淘宝评论在哪里看 编辑:程序博客网 时间:2024/06/06 08:30
- 覆盖 private method
- fields 和static 方法
- 构造函数内部的多态行为
覆盖 private method
因为private 方法是final函数,并且对于子类是不可见的,因此,子类中的同名函数是不具有多太的特性的。
fields 和static 方法
多态是针对方法的,对于fields而言,是不存在多态性质的。
class Base{ public String name = "Base";}public class Upcasting extends Base{ public String name = "Upcasting"; public static void main(String [] args){ Upcasting u = new Upcasting(); Base b = new Base(); Base c = new Upcasting(); System.out.println(c.name); System.out.println(b.name); System.out.println(u.name); }}
输出结果:
Base
Base
Upcasting
从输出中,可以看出c是*upcasting*的引用,但是它指向的字段却是基类型的。>*static*的方法不具有多态性,它是与 *class*绑定的,而不是和单个对象绑定的。
构造函数内部的多态行为
如果在父类的构造函数中调用了动态绑定的方法,这个方法的实现可能来自于子类,而在初始化父类时,子类还未被构造,可能会引起难以发现的bug
0 0
- Java多态中的注意事项
- java中的一些注意事项
- java 加密中的注意事项
- java中的注意事项
- Java中的注意事项
- Java中的BigDecimal使用注意事项
- Java 开发中的那些注意事项
- Java的多态及注意事项
- Java多态的使用注意事项
- Java的多态及注意事项
- java多态注意事项(陷进)
- Java中的String使用及注意事项
- java继承中的几点注意事项
- java中socket通信中的注意事项
- java继承中的几点注意事项
- [转]java继承中的几点注意事项
- Java中的包装类及其注意事项
- JAVA中的split的使用注意事项
- 监听ContentProvider中数据的变化
- oracle启动顺序
- Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version 错误解决
- hadoop-common源码分析之-WritableUtils
- UVA136-Ugly Numbers
- Java多态中的注意事项
- 南阳oj 士兵杀敌(二) 题目116 NYOJ 数据结构
- 优先队列用法
- ZOJ - 3124 Celebrity jeopardy
- HDU 3033 I love sneakers!(分组背包变形)
- 文章标题
- velocity例子
- 堆分配存储的串的表示和实现
- FindBugs规则整理(转载)