java学习笔记(6):类与对象之构造器(构造方法?)


笔者在网上看了很多博客,大部分都觉得构造器和构造方法是划等号的,但我个人的理解是:构造器是构造方法被用来new对象时的称谓。

1.构造器(构造方法)

构造器与类同名,在构造一个类的对象实例时,构造器会运行,构造器总是伴随着new操作符的执行被调用,而不能对一个已经存在的对象调用构造器来达到重新设置实例域的目的。
注意事项:
1.构造器与类同名
2.每一个类可以有一个以上的构造器
3.构造器可以有0或者多个参数
4.构造器没有返回值
5.构造器总是伴随着new操作一起调用

2.构造器的内存分析

在这里插入图片描述
运行结果:在这里插入图片描述

内存图如下:
在这里插入图片描述
图解说明:
1、首先将main方法压入栈中,执行main方法中的 new Person(23,“张三”);
2、在堆内存中分配一片区域,用来存放创建的Person对象,这片内存区域会有属于自己的内存地址(0x88)。然后给成员变量进行默认初始化(name=null,age=0)。
3、执行构造方法中的代码(age = a ; name = nm;),将变量a对应的23赋值给age,将变量nm对应的”张三赋值给name,这段代码执行结束后,成员变量age和name的值已经改变。执行结束之后构造方法弹栈,Person对象创建完成。将Person对象的内存地址0x88赋值给staff[1]。

3.无参构造器(即系统默认的构造器)和有参构造器

(1)在我们在写一个类未写其构造器时,在编译java文件时,编译器会自动的给class文件添加默认的构造器。
默认构造器:类名(){ }

(2)当我们在写一个类时,写了构造器,那么在编译java源文件时,编译器就不会给class文件添加默认的构造器了。

注:
1.一个类中可以有多个构造器(多个构造器时以重载的形式存在的)。
2.构造方法是可以被private修饰的(这样其他程序无法创建该类的对象)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值