首页 > 代码库 > Java-- 内部类

Java-- 内部类

  内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并且控制位于内部的类的可视性。但是内部类是完全不同于组合的概念。

在最初,内部类看起来就像是一种代码隐藏机制:将类置于其他类的内部。但是,内部类远不止于此,它了解外围类,并能与之通讯,而且你用的内部类写出的代码更优雅而清新。

 1 package innerclasses; 2  3 public class Parcel2 { 4     class Contents{ 5         private int i = 11; 6         public int value(){ 7             return i; 8         } 9     }10     11      class Destinations{12         private String lable1;13         Destinations(String whereTo){14             lable1 = whereTo;15         }16         String reabLable1(){17             return lable1;18         }19         20     }21      public Destinations to(String s){22             return new Destinations(s);23         }    24      public Contents contents(){25             return new Contents();26         }27      public void ship(String dest){28             Contents c = new Contents();29             Destinations d = new Destinations(dest);30             System.out.println(d.reabLable1());31         }32      33      public static void main(String[] args){34             Parcel2 p = new Parcel2();35             p.ship("Tasmania");36             Parcel2 q =new Parcel2();37             Parcel2.Contents c = q.contents(); 38             Parcel2.Destinations d = q.to("Borneo");39         }40     41 }

 

 

结果

 1 Tasmania 

 

如果想从外部类的非静态方法之外的任意位置创建某个内部类对象,那么有必须像在main()中那样,具体的指明这个对象的类型:OuterClassName.InnerClassName。