A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 马曦 中级黑马   /  2014-12-20 22:02  /  1152 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Fu{
                 int num = 5;                       
        Fu(){                                                                               
               // System.out.println(num);                       
                                this.show();               //0         为啥是0而不是55.             
                System.out.println(num);        //5
        }
               

        void show(){
                System.out.println("55");
        }
}
class Zi extends Fu{
        int num = 3;
                 Zi(){}
       void show() {                              
                        System.out.println(num);                                       
                                }
}
class Demo3 {
        public static void main(String[] args) {
                Zi z = new Zi();                                           
        }
}



2 个回复

倒序浏览
你打断点看一下
回复 使用道具 举报
内存先后顺序的问题,new zi的时候会先到父类走构造函数,此时父类并没有创建对象,父类中的num只有初始化的值即为0,这里的构造函数调用this .num肯定是0.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马