public interface Contents { //一个接口
int value();
}
public interface Destination { //接口
String readLabel();
}
public class Goods { //外部类
private int num =2; //外部类方法
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
private class Content implements Contents {//内部类
private int i = 11*num; //内部类可以使用外部类的所有属性包括私有的 但如果类是static的就不能使用外部类属性和方法了 内部类为static的话 就没有了指向外部类的引用
public int value() {
System.out.println(i);
return i;
}
}//0453 8587319
protected class GDestination implements Destination {//内部类
private String label;
private GDestination(String whereTo) {
label = whereTo;
}
public String readLabel() {
return label;
}
}
public Destination dest(String s) {
return new GDestination(s); // 返回内部对象
}
public Contents cont() {// 返回内部对象
return new Content();
}
}
@Test
public void test(){
Goods p = new Goods();
Contents c = p.cont();
p.setNum(100);
//Destination d = p.dest("Beijing");
c.value();
}