package day03;
/**
* 1 构造器不能继承
* 2 子类一定调用父类构造器
* 2.1 Java 默认情况下, 子类构造器自动调用父类无参构造器
* 2.2 如果父类没有无参是构造器, 必须使用super()在
* 子类构造器中调用父类构造器.
* super(8) 必须用在子类构造器的第一行!
*/
public class Demo04 {
public static void main(String[] args) {
new Sub();//证明:子类构造器自动调用父类无参构造器
//选择输出结果: A B C.无 D.Super()
}
}
class Super{
public Super() {
System.out.println("Super()");
}
}
class Sub extends Super{
// public Sub() {
// super();this()
// }
}
package day03;
public class Demo05 {
public static void main(String[] args) {
new Ioo();
int a=new Integer("1");
}
}
class Hoo{
public Hoo(int a) {
System.out.println("Hoo(int)");
}
}
//class Ioo extends Hoo{}//编译错误, 父类没有无参构造器
class Ioo extends Hoo{
//public Ioo() {}//编译错误, 父类没有无参构造器
public Ioo(){
//super();//编译错误
super(8);//在子类构造器中调用父类有参数构造器
}
}