黑马程序员技术交流社区
标题:
多态父类引用指向子类对象的时候,构造方法是怎么调用和运行的啊?哪位大神帮忙解惑啊
[打印本页]
作者:
1026060341
时间:
2015-11-8 22:28
标题:
多态父类引用指向子类对象的时候,构造方法是怎么调用和运行的啊?哪位大神帮忙解惑啊
多态父类引用指向子类对象的时候,构造方法是怎么调用和运行的啊?哪位大神帮忙解惑啊
作者:
刘辰阳
时间:
2015-11-8 22:40
路过!!!!!!
作者:
孙建志
时间:
2015-11-8 22:42
太难了。。。。不懂
作者:
小鹿
时间:
2015-11-8 22:46
利用断点先把程序好好看一遍!
作者:
ly631960324
时间:
2015-11-8 23:25
* 成员变量
* 编译看左边(父类),运行看左边(父类)。
* 成员方法
* 编译看左边(父类),运行看右边(子类)。
* 静态方法
* 编译看左边(父类),运行看左边(父类)。
* (静态和类相关,算不上重写,所以,访问还是左边的)
* 只有非静态的成员方法,编译看左边,运行看右边
作者:
chenhaiqian
时间:
2015-11-9 00:15
推荐看看老师的视频
作者:
豆豆的小幸福
时间:
2015-11-9 00:19
Fu f = new Zi(); 就那这个来说,首先加载父类.class文件,然后加载子类.class 文件,
然后调用子类构造函数,而子类构造方法首行如果没有用super有参构造指定,则有个默认的super的空参构造,
那么找到父类的空参构造,而父类空参构造方法的第一行也有super();这个默认的语句,因为所有类都有个根类Object.
然后进行父类成员变量的显示初始化,然后如果父类有构造代码块就执行构造构造代码块初始化,然后再执行父类构造方法中的方法体。
然后相当于Zi () { } 中首行super()语句执行完毕,然后进行子类的显示初始化,
接下来如果子类中有构造代码块,则执行子类的构造代码块,然后再执行子类构造方法中的方法体。
作者:
木子子木
时间:
2015-11-9 23:02
编译看左边(父类),运行看右边(子类)
作者:
1026060341
时间:
2015-11-10 21:41
豆豆的小幸福 发表于 2015-11-9 00:19
Fu f = new Zi(); 就那这个来说,首先加载父类.class文件,然后加载子类.class 文件,
然后调用子类构造函 ...
恩啊 谢谢啦
作者:
1774055019
时间:
2015-11-10 22:01
转来转去啊,感觉都晕了
作者:
会盟天下英豪
时间:
2015-11-10 23:11
父类静态块--->子类静态块--->父类初始化语句--->父类构造函数--->子类初始化语句--->子类构造器
作者:
孙建志
时间:
2015-11-19 21:32
这个还真不知道
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2