import java.io.*;
  class SuperClass{
    int x;
    SuperClass( ) {
     x=3;
     System.out.println("in SuperClass : x=" +x);
    }
     void doSomething( ) {
     System.out.println("in SuperClass.doSomething()");
    }
  }
  class SubClass extends SuperClass {
    int x;
    SubClass( ) {
     super( );    //调用父类的构造方法
     x=5;      //super( ) 要放在方法中的第一句
     System.out.println("in SubClass :x="+x);
    }
     void doSomething( ) {
     super.doSomething( ); //调用父类的方法
     System.out.println("in SubClass.doSomething()");
     System.out.println("super.x="+super.x+" sub.x="+x);
    }
  }
  public class Inheritance {
     public static void main(String args[]) {
     SubClass subC=new SubClass();
     subC.doSomething();
    }
  }
最后这一段程序有什么用,去掉它也可以正常运行啊.
public class Inheritance {
     public static void main(String args[]) {
     SubClass subC=new SubClass();
     subC.doSomething();
    }
  }

解决方案 »

  1.   

    去掉连main()方法都没有了,还可以运行?
    你问的这段程序不就是用来测试上面的SuperClass和SubClass直接的继承关系的嘛。
      

  2.   

    这个只是一个很简单的学习继承,重载的类
    最后那个类是用来当驱动程序用
    没什么用
    你可以在每个类中加个一个main方法
    这样,你想解释那个都可以,
    不会影响到你的运行结果