Java构造方法中的多态
来源:互联网 发布:面向对象高级编程 编辑:程序博客网 时间:2024/06/09 21:27
- public class Qdb extends Depend
- {
- int i = 30;
- public Qdb()
- {
- print();
- super.print();
- i = 40;
- }
- void print()
- {
- System.out.println("Target=> " + i);
- }
- public static void main(String[] args)
- {
- new Qdb();
- }
- }
- class Depend
- {
- int i = 10;
- public Depend()
- {
- print();
- i = 20;
- }
- void print()
- {
- System.out.println("Depend=> " + i);
- }
- }
对于这道题,我的答案是:
Depend=> 10 Target=>30 Depend=>20
可是在运行后我发现答案是:
Target=> 0 Target=> 30 Depend=> 20
看到答案让我很是费解,按照方法的调用顺序:在调用子类的构造方法之前先调用父类的构造方法,在执行构造方法的语句之前先初始化成员变量。按照这个顺序得到的应该是我预期的答案。
不过在用debug跟踪后发现在调用父类构造方法里的print()时执行的不是父类的构造方法,而是去执行了子类的构造方法。也就是说在构造方法里也存在着多态性。不过这也只是我的猜测,查了些资料也没有找到答案,姑且先记下来,以后慢慢去了解。
- Java构造方法中的多态
- Java 构造方法中的多态
- java中的构造方法
- java中的构造方法
- java中的构造方法
- Java中的构造方法
- java中的构造方法
- java中的构造方法
- java中的构造方法
- java中的构造方法
- JAVA中的构造方法
- java中的构造方法
- Java中的构造方法
- Java中的构造方法
- java中的构造方法
- Java中的构造方法
- Java中的构造方法
- Java中的 构造方法
- 关于我对Mozilla的研究
- 自动化测试框架设计指南
- how to config when use hibernate+sqlserver2005
- Java调用C语言DLL文件方法
- c语言学习(自我感想)
- Java构造方法中的多态
- 个人博客转移
- Windows网络编程经验总结
- 遭遇beep.sys/Backdoor.Win32.Agent,DOVA/Backdoor.Win32.Hupigon,myRAT.rmvb/Trojan.Win32.Delf等2
- Jacob处理Word文档的方法
- 博客已经荒废久已,近日开始除草
- 'You've got to find what you love,' Jobs says
- 列表框的左右上下移动
- 浮点数强转整形的问题