我们知道静态是不能访问非静态的 大家看下面这个程序 :
class Demo
{
public void func()
{
new Inner(); // 正确
}
class Inner{}
public static void main(String[] args)
{
Demo d=new Demo();
new Inner();//不可以
}
}
我的问题是 红色的new Inner(0是不可以的 因为静态的不能访问非静态的 但是Demo d=new Demo();可以 我想说的是 是不是由于内部类可以被static修饰 外部类不可以被static修饰 所以 导致了同样是new一个对象 内部类在主函数中new必须是静态内部类 外部类就没有这个概念呢?
|