what's the output?
/**
 * @author 031202
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
class Parent {
 
 class InnerClass {
  public InnerClass() {
   System.out.println("Construct parent's inner class");
  }
 }
 
 static class StaticInner {
  public StaticInner() {
   System.out.println("Construct parent's StaticInner class");
  }
 }
 
 private InnerClass i = new InnerClass();
 
 private static StaticInner s = new StaticInner();
 
 public Parent() {
  System.out.println("Construct Parent");
 }
		}
		public class Child extends Parent {
 class InnerClass {
  public InnerClass() {
   System.out.println("Construct child's inner class");
  }
 }
 
 static class StaticInner {
  public StaticInner() {
   System.out.println("Construct child's StaticInner class");
  }
 }
 
 private static StaticInner s = new StaticInner();
 
 private InnerClass i = new InnerClass();
 
 public Child() {
  System.out.println("Construct Child");
 }
 
 public static void main(String[] args) {
  new Child();
 }
}
answer:
Construct parent's StaticInner class
Construct child's StaticInner class
Construct parent's inner class
Construct Parent
Construct child's inner class
Construct Child
		Do you really understnand  the class initialization?