首页 > 代码库 > java内部类

java内部类

内部类定义:将一个类的定义放在另一个类内部,这就是内部类,内部类控制了类的可视性,在某种程度上说,内部类隐藏了代码,将不希望被外部调用的代码隐藏起来了。往大的方向分,内部类可以分为匿名内部类和嵌套内部类。

内部类可以通过this访问外部类,外部类调用内部类通过new的方式来访问。

1.匿名内部类

@定义接口

public interface Destination {
String readLabel();
}

public class Parcel01 {

public Destination destination(String s) {

@内部类
class PDestination implements Destination {
private String label;

private PDestination(String whereTo) {
label = whereTo;
}

public String readLabel() {
return label;
}
}
return new PDestination(s);
}

public static void main(String[] args) {
Parcel01 p01 = new Parcel01();
Destination d = p01.destination("hello python");
System.out.println(d.readLabel());
}
}

2.嵌套内部类

public class Parcel05 {

public static class SubDestination implements Destination {
public String readLabel() {
return "hello,python!";
}
}

public static Destination getDestination() {
return new SubDestination();
}

public static void main(String[] args) {
Destination d=getDestination();
System.out.println(d.readLabel());
}
}

java内部类