public class Test 
{
Test(int x, int y)
{
}
}class b extends Test
{
}为什么提示
Test.java:11: cannot find symbol
symbol  : constructor Test()
location: class Test
        {
        ^
1 error在我印象里子类的构造器和父类的构造器应该没什么关系才对啊

解决方案 »

  1.   

    你父类中的构造函数Test(int x, int y)屏蔽了其默认的构造函数Test(),而子类的构造函数会自动调用其父类的那个没有参数的构造函数,一直追溯到Object类。在这里,由于父类中已经不存在默认的构造函数Test(),无法为子类所调用。你可以在父类中添加一个不带参数的构造函数,或者在子类构造函数的第一句按照父类构造函数的参数要求显式地调用super();
      

  2.   

    如:
    public class Test {
        Test(int x, int y) { }
    }class b extends Test {
        b() {
            super(1, 1);
        }
    }或者:
    public class Test {
        Test(int x, int y) { }
        Test() { }
    }class b extends Test {
    }都可以通过编译。
      

  3.   

    招聘
    java工程师
    java jsp servlet spring hibernate js css
    上面会一部分既可qq 283765999 
    地点:北京
      

  4.   

    如果你写了Test(int x, int y) { }而不显示的写Test(){},则默认的构造函数被屏蔽了