2015-07-12 100 views
0

为什么下面的代码会产生编译错误(构造函数AA()未定义)?它不应该调用默认的构造函数吗?如果在class没有构造这是不是AA的情况下为什么我得到'构造函数是undefined`错误?

public class A{ 
    public A(){ } 
} 

public class AA extends A{ 
    public AA(int aa){ } 
} 

public class C{ 
    public static void main(String[] args){ 
     A a= new AA(); 
    } 
} 
+0

AA是否有其他的构造? – Eran

+0

@Eran是的,我编辑了代码。 – Jaja

回答

0

你写

A a= new AA(); // try to invoke default constructor 

但没有default构造函数AA类因为你写自己的构造函数

public AA(int aa){ } 

那么试试这个:

int someInteger = 1; 
A a= new AA(someInteger); 
相关问题