本帖最后由 _let'sgo 于 2015-11-12 16:41 编辑
结果为什么是
Fu
zi show 0
Zi
zi show 0
,初始化时执行顺序是什么?
- class Fu{
- int num = 9;
- {
- System.out.println("Fu" );
- }
- Fu(){
- super();//Object
- //显示初始化
- //构造代码块初始化
- show();
- }
- void show(){
- System.out.println("fu show " + num);//被覆盖,运行子类的
- }
- }
- class Zi extends Fu{
- int num = 8;
- {
- System.out.println("Zi" );
- }
- Zi(){
- super();
- //显示初始化
- //构造代码块初始化
- show();
- }
- void show(){
- System.out.println("zi show " + num);
- }
- }
- public class Demo{
- public static void main(String[] args){
- new Zi();
- }
- }
复制代码
|
|