abstract class Contents {
abstract public int value();
}

interface Destination {
String readLabel();
}

public class Parcel3 {
private class PContents extends Contents {
private int i = 11;
public int value() { return i; }
}

protected class PDestination implements Destination {
private String label;
private PDestination(String whereTo) {
label = whereTo;
}
public String readLabel() { return label; }
}

public Destination dest(String s) {
return new PDestination(s);
}
public Contents cont() {
return new PContents();
}
}

class Test {
public static void main(String[] args) {
Parcel3 p = new Parcel3();
Contents c = p.cont();
Destination d = p.dest(”Tanzania”);
// Illegal — cant access private class:
//Parcel3.PContents a = p.new PContents();这是另一种在外部类得到内部类对象的语法
}
} ///:~

outerClass.innerClass innerObject=outerObject.new InnerClass(Constructor Parameters);

public class Parcel3 {
private valueRate=2;
private class PContent implements Contents {
private int i = 11*valueRate;
public int value() { return i; }
}

protected class PDestination implements Destination {
  private String label;
  private PDestination(String whereTo) {label = whereTo;}
  public String readLabel() { return label; }
 }

public Destination dest(String s) {
return new PDestination(s);
}
public Contents cont() {
  return new PContent();
}
}

发表回复