Java 简单的内部类

来源:互联网 发布:主播用的直播软件 编辑:程序博客网 时间:2024/05/17 21:49

内部类,即将一个类定义置于另一个类的定义之中。

public class Parcel1 {class Contents{private int i = 11;public int value(){return i;}}public Contents cont(){return new Contents();}class Destination{private String label;Destination(String whereTo){label = whereTo;}String readLabel(){return label;}}public Destination dest(String la){return new Destination(la);}public void ship(String dest){Contents c = new Contents();Destination d = new Destination(dest);System.out.println(d.readLabel() + c.i);}public static void main(String[] args) {// TODO Auto-generated method stubParcel1 p = new Parcel1();p.ship("hahaha");Parcel1.Contents a = p.cont();Parcel1.Destination b = p.dest("lalala");System.out.println(b.readLabel() + a.i);}}
上例中,Contents和Destination就是定义在Parcel1中的类。这里称Contents和Destination为内部类,称Parcel1为外部类。特点:1.内部类可以自由地访问外部类的成员变量;2.如果内部类被static修饰,即静态的,那么他只能访问外部类的静态变量。3.在外部类非static方法内部之外的任何地方(即static方法)生成内部类的一个对象,必须将那个对象的类型设为“外部类.内部类”(如main中Parcel1.Contents a = p.cont();以及ship中 Contents c = new Contents();)。例如cont()就是外部类的一个特殊方法,返回一个内部类的句柄。

0 0
原创粉丝点击