class A
{
public A()
{
System.out.println("I am a");
}
public static void main(String arg[])
{
A a = new A();
//B b = new B();
C c = new C();
D d = new D();
}
class B
{
public B()
{
System.out.println("I am b");
}
}
static class C
{
public C()
{
System.out.println("I am c");
}
}
} class D
{
public D()
{
System.out.println("I am d");
}
}为什么在A类里面写的类B就不能直接调用构造函数(必须要在类名前加static,像类C这样)
而在A类外面写的类D就可以直接被调用构造函数,不需要在类D前加static
而加上static就属于静态变量默认是A.B全名,因为在A的静态方法里边所以不加A也可以调用
必须要现有外部类的实例