要在定義內部類的類的外部創建一個內部類的對象,不能用下面的方法
public class Main{
public static void main(String[] args){
//TestInnerClass tic=new TestInnerClass();
TestInnerClass.Inner in=new TestInnerClass.Inner(); //compile error
//TestInnerClass.Inner in=tic.new Inner();
}
}
class TestInnerClass{
class Inner{
public Inner(){
System.out.println("Inner constructor");
}
}
}
而要這樣
public class Main{
public static void main(String[] args){
TestInnerClass tic=new TestInnerClass();
TestInnerClass.Inner in=tic.new Inner();
}
}
class TestInnerClass{
class Inner{
public Inner(){
System.out.println("Inner constructor");
}
}
}
下面的代碼并沒有創建一個Inner對象
public class Main{
public static void main(String[] args){
TestInnerClass tic=new TestInnerClass();
//TestInnerClass.Inner in=tic.new Inner();
}
}
class TestInnerClass{
class Inner{
public Inner(){
System.out.println("Inner constructor");
}
}
}