java面向对象上(五)构造器

本文深入探讨了构造器在对象创建过程中的作用,包括其如何初始化对象、何时被调用,以及不同访问修饰符对其可见性和使用的影响。此外,还讲解了构造器重载、this和super关键字的使用规范,以及反序列化、克隆等特殊场景下对象创建的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当系统开始执行构造器之前,系统已经创建了一个对象,只是这个对象还不能被外界程序所访问,因此我们可以理解为是对象调用的构造方法,当构造器的执行体执行结束后,找个对象的地址值作为构造器的返回值返回,赋给一个引用变量,从而让外部程序可以访问该对象

创建对象,分配内存,存入数据,构造器负责存入数据,分配内存由jvm做,

构造器如果被public修饰,则允许在其他类中创建该类的实例,

                      private修饰,则只允许在本类中创建该类的实例

                      protected修饰,则允许在其子类中创建该类的实例

构造器重载,在同一个类中允许在一个构造器中使用this(形参)来调用同一类的另一个构造器,并且编译器规定this()必须在构造器执行体的第一条语句

当出现子类继承父类的情况时,子类可以显示调用父类的构造器,super()但是这个语句也必须放在构造器的第一条语句,因此this()和super()只能同时用一个

什么时候会创建对象呢?

1反序列化

2克隆

3反射机制newInstance

4new

什么时候用到构造器了呢

new/反射机制需要对对象进行初始化,用到了构造器,

而克隆/反序列化对象已经初始化过了,不需要构造器

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值