java内部类

内部类: 可以将一个类的定义放在另一个类的定义内部
如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,必须具体的指明这个对象的类型:OuterClassName.InnerClassName

例:

public class Parcel2{
   class Contents{
     private int i = 11;
     public int value(){
        return i;
    }
}
    class Destination{
       private String label;
       Destination (String whereTo){
          label = whereTo;
       }
        String readLabel(){ return label;}
   }
    public Destination to(String s){
       rerurn new Destination(s);
    }
     public Contents  contents(){
       rerurn new Contents  (s);
    }
    public void ship (String dest){
       Contents c = Contents ();
       Destination d =to(dest);
       System.out.println(d.readLabel());
    }
    public static void main(String[]args){
       Parcel2 p = new Parcel2();
       p.ship("Tasmania");
       Parcel2 q = new Parcel2();
       //引用内部类
        Parcel2.Contents c = q.contents();
       Parcel2.Destination  d = q.to("Borneo");
    }
}

注:在拥有外部类对象之前是不可能创建内部类的对象的,但是如果创建的是静态内部类就不需要对外部类对象的引用了

你可能感兴趣的:(java内部类)