当前位置: 首页 > 工具软件 > OFTest > 使用案例 >

No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing inst

裴泰平
2023-12-01

No enclosing instance of type Test is accessible. Must qualify the allocation with an enclosing instance of type Test (e.g. x.new A() where x is an instance of Test).

最近在尝试写一Demo的时候,碰到这个异常,导致Eclipse报错。


package com.frank;


public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {

        A a = new A();
    }

    class A{
    }

}

当时没有注意,仔细想了想,也是合理的。main是Test类的static方法,按照常理它只能访问Test类中static资源,而class A是非static所以报错了。解决方法很简单,给class A添加static属性就可以了。

package com.frank;


public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {

        A a = new A();
    }

    static class A{
    }

}

当然还有另外一种方式,没有必要把A放在Test中做内部类,只要把它移到Test外部地方定义也可以解决这个问题。


package com.frank;


public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {

        A a = new A();
    }


}

class A{
}
 类似资料:

相关阅读

相关文章

相关问答