您的位置:首页 > 其它

面向对象第二个特征----继承III(子父类中构造函数初始化过程2)

2017-09-25 10:45 316 查看
class Fatherba
{
Fatherba()
{
super();
show();
return;
}
void show()
{
System.out.println("fu show");
}
}
class Son extends Fatherba
{
int num = 8;
Son()
{
//      System.out.println(num);
super();
//-->通过super初始化父类内容时,子类的成员变量并未显示初始化,等super()父类初始化完毕后,
//才进行子类的显示初始化。并且,再这之后,再进行子类的特定初始化。
num = 10;//特定初始化。
System.out.println(num);
return;
}
void show()
{
System.out.println("Son show..."+num);
}
}

public class ExtendsDemo5 {

public static void main(String[] args) {
Son s = new Son();
}
}
/*
一个对象实例化过程:
Person p = new Person();
1,JVM会读取指定路径下的Person.class文件,并加载进内存,
并会先加载person的父类(如果有父类的情况下);
2,在堆内存中开辟空间,分配地址。
3,并在对象空间中,对对象中的属性进行默认初始化。
4,调用对应的构造函数进行初始化。
5,在构造函数中,第一行会先到父类中的构造函数进行初始化。
6,父类初始化完毕后,在对子类的属性进行显示初始化。
7,再进行子类构造函数的特定初始化。
8,初始化完毕后,将地址值赋值给引用变量。

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐