码迷,mamicode.com
首页 > 其他好文 > 详细

构造方法

时间:2021-07-05 16:50:49      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:空间   格式   多次   赋值   目的   必须   方法区   构造   其他   

既然构造方法可以给属性进行赋值,还需要set方法?

依然需要,因为构造方法仅仅是对象创建是执行,set方法是在对象创建后可以多次调用执行,对属性值进行改变。

构造方法能调用其他普通方法?

是可以的,但是这种调用比较少。

普通方法能调用构造方法吗?

不能。

对象的实例化过程:

Person p = new Person(“张三”,30);
1.加载Person.class文件到方法区
2.在栈中创建p引用变量,是Person类型的
3.在堆中开辟空间,并分配地址值
4.在堆中存储默认值
5.属性如果有显示值,那么进行显示初始化,如果没有跳过此步
6.执行构造方法初始化,将张三和30赋值给对象的属性
7.将地址值赋值给p变量,p引用/指向了该空间

重载构造方法的调用。

需要使用 this(实参); 这个语句来实现。
要求:这个语句必须放在构造方法的第一行。目的就是为了让该语句优先执行。
注意:重载形式的构造方法的第一行,至少有一个构造方法不能写 this(实参); 语句。

之前创建对象时,类中没有定义过构造方法,对象也创建成功了?

类中没定义是因为系统提供了一个无参数,无方法体的构造方法 public 类名(){}。
但是,在类中定义过了构造方法了,那么系统不再提供,必须以编写的构造方法的格式来创建对象。

构造方法

标签:空间   格式   多次   赋值   目的   必须   方法区   构造   其他   

原文地址:https://www.cnblogs.com/chenglong0201/p/14961836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!