构造器(构造方法)

构造器(构造方法)

一个类即使什么都不写,也会有一个默认的构造方法。

构造器一般都是用来初始化类对象的值。

构造器的特点:

1.方法名要与类名相同。

2.没有返回值。

生成构造器的快捷键:

Windows: alt+insert

Mac: command+N

显式地定义构造方法:

image-20221012180604781

使用new方法创建对象时一定会调用类的构造方法。

有参构造和无参构造

无参:public Person(){

name=“hahaha”;

}

有参:public Person(String name){

This.name = name;

}

注意:一旦定义了有参构造,如果还要使用无参构造,就必须要显式定义无参构造(就是要把无参构造方法在类中写出来)

创建对象的内存分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TdvdXijZ-1668761931878)(/Users/ericyang/Library/Application Support/typora-user-images/image-20221012183014264.png)]

main()方法最先被压入栈中

方法区(也在堆中)中会加载项目中的类模板,比如说,项目中有一个Person类和一个Pet类,类中有各自的如姓名,年龄等属性和方法。这些都会被加载到静态方法区。(以便在程序需要创建对象的时候调用)

使用new创建对象的时候,会按静态方法区中的类模板,在堆中开辟一块空间给具体创建的对象,并为类对象的各个属性赋予初始值。

栈中存放的是引用变量名。如Pet cat=new Pet(); 其中cat就是引用变量名,他实际上代表着一块内存空间的地址。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值