·定义类Parent

1.定义实例变量a,b

2.定义静态类变量c,d

3.定义实例代码段

4.定义静态代码段

5.定义类Child扩展Parent

6.定义实例变量w,y

7.定义静态类变量x,z

8.定义实例代码段

9.定义静态代码段

10.定义类InheritanceInitializer1

11.添加main()方法

12.在main()方法中创建类Child的实例

13.显示实例的属性信息以及类的属性信息

说明：从输出信息的次序可以分析初始化时静态变量总是先初始化，然后才是实例变量。

class Shapes3D

{

public static void main (String [] args)

{

Sphere s = new Sphere (1.0, 2.0, 3.0, 4.0);

System.out.println (s.getX ());

System.out.println (s.getY ());

System.out.println (s.getZ ());

System.out.println (s.getRadius ());

}

}

·实现步骤

1.定义类Parent

2.定义Parent的构造方法

3.在构造方法中调用子类的方法和属性

4.定义类Child扩展Parent

5.定义实例变量x,y

6.定义方法getX()

7.定义类InheritanceInitializer2

8.添加main()方法

9.在main()方法中创建类Child的实例

10.显示实例的属性信息

// InheritanceInitializer2.java

class Parent

{

Parent ()

{

System.out.println ("Parent: x = " + ((Child) this).getX ());

System.out.println ("Parent: y = " + ((Child) this).y);

}

}

class Child extends Parent

{

private int x = 5;

int getX ()

{

return x;

}

int y = -2;

}

class InheritanceInitializer2

{

public static void main (String [] args)

{

Child c = new Child ();

System.out.println ("x = " + c.getX ());

System.out.println ("y = " + c.y);

}

}

说明：从输出信息的次序可以知道总是先初始化父类的成员属性和构造函数，然后才初始化子类的成员属性和构造函数。