测试代码:
package Test;
abstract class FatherClass{
abstract void getn();
FatherClass(){
System.out.println("无参父类构造方法");
getn();
}
FatherClass(int i){
System.out.println("有参父类构造方法");
getn();
}
}
class SonClass extends FatherClass{
boolean n=true;
SonClass(int x){
//super(); //与下面的this()发生冲突
this();
System.out.println("有参子类构造方法");
getn();
}
SonClass(){
super(6);
System.out.println("无参子类构造方法");
getn();
}
void getn(){
System.out.println(n);
}
}
public class TestOfConstruction2 {
public static void main(String[] args){
new SonClass(6);
}
}
输出结果:
有参父类构造方法
false //这里变量n还未初始化
无参子类构造方法
true
有参子类构造方法
true
1.构造方法作用:在系统生成对象时,系统会为对象分配内存空间,并自动调用构造方法对实例变量进行初始化,当对象不再使用时,