面向对象 构造方法 构造代码块this

1 构造方法

1.1 概念

构造方法是一种特殊的方法,他是一个与类同名且没有返回值类型的方法

构造方法的主要功能就是完成对象创建或者初始化

当类创建对象(实例化)时,会自动调用构造方法

构造方法与普通方法一样也可以重载.

1.2 形势

关于构造函数怎么记忆:

1.特点:方法名与类名相同,且没有返回值类型

2.执行时机:创建对象时立即执行

3.默认会创建无参构造,但是,如果自定义了含参构造,默认的无参构造会被覆盖,注意要手动添加

2 构造代码块与局部代码块

2.1 形势

1  |  {代码.....}

2.2 构造代码块的特点

1.位置:在类的内部,在方法的外部

2.作用:用于抽取构造方法中的共性代码

3.执行时机:每次调用构造方法前都会调用构造代码块

4.注意事项:构造代码块优先于构造方法加载

2.3 局部代码块

1.位置:在方法里面的代码块

2.作用:通常用于控制变量的作用范围,出了花括号就失效

3.注意事项:变量的作用范围越小越好,成员变量会存在线程安全的问题

3  this

3.1 概念

this代码本类对象的一个引用对象

3.2 形势

this.name  =  name;

4 创建对象的流程

Person  p = new Person();//短短这行代码发生了很多事情

1.把Person.class文件加载进内存

2.在栈内存中,开辟空间,存放引用变量P

3.在堆内存中,开辟空间,存放Person对象

4.堆成员变量进行默认的初始化

5.堆成员变量进行显示初始化

6.执行构造方法(如果有构造代码块,就先执行构造代码块在执行构造方法)

7.堆内存完成

8.把堆内存的地址值赋值给变量P,P就是一个引用变量,引用了Person对象的地址值

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员黑马二代

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值