outclass可以直接使用InnerClassNameOuter而不是ClassName.InnerClassName指定内部类

时间:2016-08-08 14:39:19

标签: java

在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"); 
        }
    }

0 个答案:

没有答案