【发布时间】:2014-08-31 10:42:19
【问题描述】:
假设我们在 NoArgConstructorClass.java 文件中有一个类 NoArgConstructorClass
/* first example */
import javax.imageio.IIOException;
public class NoArgConstructorClass
{
public static void main(String[] args)
{
NoArgConstructorClass n = new NoArgConstructorClass();
IIOException e = new IIOException();
}
}
此代码编译产生错误:找不到适合 IIOException 的构造函数。
既然IIOException应该有一个无参构造函数(由编译器添加),那么IIOException没有无参构造函数是怎么做到的呢?
/** second example, showing that ClassB inherits a no-arg constructor from Object */
/** put in ConstructorChain.java */
public class ConstructorChain
{
public static void main(String[] args)
{
ClassB b = new ClassB();
}
}
/** put in ClassA.java */
public class ClassA
{
public ClassA()
{
System.out.println("Class A");
}
}
/** put in ClassB.java */
public class ClassB
extends ClassA
{
}
【问题讨论】:
标签: java inheritance constructor arguments