您的位置:首页 > 编程语言 > Java开发

Java 简单的内部类

2016-07-16 20:39 423 查看
内部类,即将一个类定义置于另一个类的定义之中。

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 stub
Parcel1 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()就是外部类的一个特殊方法,返回一个内部类的句柄。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: