new DuoTaiDemo2("d");//这行为什么会报错?
为什么下面初始化2个子类的输出结果是一样的?
new DuoTaiDemo2("", 8);
new DuoTaiDemo2(); 作者: 张庚 时间: 2013-2-2 21:27
public class DuoTaiDemo2 extends Fu {
/**
* @param args
*/
public static void main(String[] args) {
new DuoTaiDemo2("", 8);
//new DuoTaiDemo2("d");//这行为什么会报错 没有这个构造函数 构造函数又不可以继承
new DuoTaiDemo2();
}
public DuoTaiDemo2() {
super();//默认调用父类空的构造函数
System.out.println("子类2个参数构造函数");
}
public DuoTaiDemo2(String s,int i) {
super();//默认调用父类空的构造函数
System.out.println("子类2个参数构造函数");
}
}
为什么初始化2个子类输出4行结果?
你这个父类里面有空的构造函数
public Fu() {
System.out.println("父类没参数构造函数");
}
自己去你代码里面找 有空的构造函数
子类的构造函数第一行会自动调用父类空的构造函数
new DuoTaiDemo2("d");//这行为什么会报错? //没有这个构造函数 构造函数又不可以继承
为什么下面初始化2个子类的输出结果是一样的? //因为你那两个构造函数都打印的相同的一句话 都是这句话 System.out.println("子类2个参数构造函数");
new DuoTaiDemo2("", 8);
new DuoTaiDemo2();作者: 梁锡伟 时间: 2013-2-2 21:55
public Fu(String s, int i) {
System.out.println("父类2个参数构造函数");
}
public Fu(String a) {
System.out.println("父类2个参数构造函数");
}