Java学习日记11——构造一个对象的过程

Person p = new Person();

1:JVM在指定的路径下读取Person.class,并加载进内存。如果有直接父类的话(object不算),先把父类加载进内存。

2:在堆内存中开辟空间,

3:在对象空间中的,对对象的属性进行默认初始化

4:调用对应的构造方法进行初始化,

5:运行第一行中的super()方法,即调用父类的构造方法

6:父类构造方法执行完毕,对子类成员属性进行显式初始化

7:对子类属性的特定初始化

8:将地址赋值给对象名

package com.sxu.cs.inherit;

/*
 * 通过这个程序显示java中构造一个对象的过程
 * 通过内存图解加深理解
 *父类的同名方法被子类的同名方法覆盖
 * 1 调用父类的构造方法
 * 2 默认初始化
 * 3 显式初始化
 * 4 
 * */
public class ProcessOfConstructing {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Zi fu = new Zi();
	}

}

class Fu{
	int num;
	Fu(){
		super();
		System.out.println("entering the constructor of Fu...");
		show();
		return;
	}
	
	void show(){
		System.out.println("fu show......"+this.num);
	}
}

class Zi extends Fu{
	int num = 8;//默认初始化
	Zi(){
		super();
		num = 10;//特定初始化
		System.out.println("entering the constructor of Zi...");
		return;
	}
	void show(){
		System.out.println("zi show......"+this.num);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值