面向对象第二个特征----继承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,初始化完毕后,将地址值赋值给引用变量。 */
相关文章推荐
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中构造函数初始化过程2)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象第二个特征----继承III(子父类中的构造函数)
- 面向对象的第二个特征----继承III(子父类中成员的特点与覆盖)