我写的那个TestStruct1编译是错的

解决方案 »

  1.   

    当然编译错误了,你在TestStruct1里就没有写构造函数
      

  2.   

    首先,一个文件里只能有一个public class!
    所以你的第一个class不能用public;
    class TestStruct {
             
    TestStruct(int i) {
                System.out.println("Construct TestStruct:" + i);
             }
    }
    public class TestStruct1 extends TestStruct {
    public static void main(String args[]) {
    TestStruct ts = new TestStruct(0);
                      //TestStruct1 ts1 = new TestStruct1(0);
    }
    }这样你的程序就可以先跑起来了!呵呵!
      

  3.   

    TestStruct1里面必须有个构造函数
    public TestStruct1(int i) {
      super(i);
      ……
    }
      

  4.   

    编译器会给TestStruct1加一个g构造器,这个构造器会调用super的不带参数的构造方法,在TestStruct中加一个TestStruct() {},ok
      

  5.   

    shihb() 你能编译通过上面你给出的代码吗,我编译通不过呀
      

  6.   

    UP!up!up!
    看看think in java吧,对了解基本的java常识很有帮助的!
      

  7.   

    public class TestStruct {
    TestStruct(int i) {}
    }
    public class TestStruct1 extends TestStruct {
    TestStruct1(int i){
    super(i);
    }
    public static void main(String args[]) {
    TestStruct ts = new TestStruct(0);
                      //TestStruct1 ts1 = new TestStruct1(0);
    }
    }