class Fu{
Fu(){
super();
show();
return;
}
void show(){
System.out.println("fu show");
}
}
class Zi extends Fu{
int num = 8;
Zi(){
super();
System.out.println("zi cons run...."+num);
return;
}
void show(){//会覆盖父类中的show方法
System.out.println("zi show..."+num);
}
}
class ExtendsDemo5 {
public static void main(String[] args) {
Zi z = new Zi();
z.show();
}
Fu(){
super();
show();
return;
}
void show(){
System.out.println("fu show");
}
}
class Zi extends Fu{
int num = 8;
Zi(){
super();
System.out.println("zi cons run...."+num);
return;
}
void show(){//会覆盖父类中的show方法
System.out.println("zi show..."+num);
}
}
class ExtendsDemo5 {
public static void main(String[] args) {
Zi z = new Zi();
z.show();
}
}
一个对象的实例化过程:
eg:Person p = new Person();
1.JVM会读取指定路径下的Person.class文件,并加载到方法区,(注意:若有直接父类要先加载直接的父类)
2.在堆内存中开辟空间,并对对象的属性进行默认初始化
3.调用相应的空参构造函数,进行初始化(注意:在调用构造函数时,构造函数的第一行会有隐式的 super()语句,这时就要调用父类的空参构造函数进行初始化。)
4.在父类构造函数初始化完毕后,这时子类的属性开始显示初始化。