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();
 }
}
