小编Shi*_*ari的帖子

没有显式封闭实例的非静态内部类对象创建

我读到没有外部类的实例就不能创建内部类的实例。但是,当我尝试使用它作为外部类的实例成员创建内部类的实例时,它起作用了。

我知道它是通过对外部类对象的引用来创建内部对象,但这是正确的方法吗?

下面是我的代码片段:

public class TestInner {
    private Nonstatic non = null;
    private static int access = 4;

    public class Nonstatic {
        void hello() {
            access = 90; 
        }
    }

    public static void main(String[] args) {
        TestInner outer = new TestInner();
        TestInner.Nonstatic innern= outer.new Nonstatic();
        System.out.println("Non static obj1 is "+innern);

        outer.testinnerObj();
    }

    public void testinnerObj() {
        non = new Nonstatic(); 
        System.out.println("Non static obj2 is "+non);
        non.hello();
    }
}
Run Code Online (Sandbox Code Playgroud)

java inner-classes

4
推荐指数
1
解决办法
796
查看次数

标签 统计

inner-classes ×1

java ×1