首页 > 编程语言 > 详细

java的初始化

时间:2015-10-07 14:37:57      阅读:285      评论:0      收藏:0      [点我收藏+]
public class Base {
    private String baseName = "base";
    public Base() {
        callName();
    }
    public void callName() {
        // TODO Auto-generated method stub
        System.out.println(baseName);
    }
    static class Sub extends Base {
        private String baseName = "sub";
        public void callName() {
            System.out.println(baseName);
        }
    }
    public static void main(String[] args) {
        Base sub = new Sub();
    }
}

以上结果输出什么呢?null

分析:分配好内存空间之后,初始化的顺序为 :父类静态块、子类静态块、父类初始化语句、父类构造器、子类初始化语句、子类构造器。父类构造器执行的时候,调用了子类的覆写方法,然而子类的类字段还在刚初始化阶段,刚完成内存布局,只能输出null

java的初始化

原文:http://www.cnblogs.com/dev-lipengfei/p/4858587.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!