在Java的内心思维课程中,
如果你想在除了之外的任何地方创建一个内部类的对象 在外部类的非静态方法中,必须指定 该对象的类型为OuterClassName.InnerClassName,如中所示 main()中。
但我发现直接使用InnerClassName仍然可以在main中使用。
public class Parcel2 {
class Contents {
private int i = 42;
public int value() { return i; }
}
class Destination {
private String label;
Destination(String whereTo){
label = whereTo;
}
String readLabel(){ return label; }
}
public Destination to(String s){
return new Destination(s);
}
public static void main(String[] args){
Parcel2 q = new Parcel2();
/* Destionation d = q.to("Borneo"); still works.*/
Parcel2.Destination d = q.to("Borneo");
}
}