静态方法中不能new内部类的实体对象

原因如下:

1.内部类可以访问外部类的成员变量

2.对象创建完成后对象的成员变量才会被分配空间

3.main的静态方法执行时可以不存在外部类,不创建实体对象

4.内部类能访问成员变量意味着一定存在外部类实体对象

因为3和4矛盾,所以在静态方法中不能new内部类的实体对象

这个是错误的

class demo{    
    public void func(){
        //位置1;
    }
    class Inner{}
    
    public static void main(String[] args){
        demo d=new demo();
        // 位置2
        new Inner();
        
        
    }
}

 

posted @ 2016-07-14 17:11  等待112  阅读(229)  评论(0编辑  收藏  举报