标签:空间 格式 多次 赋值 目的 必须 方法区 构造 其他
依然需要,因为构造方法仅仅是对象创建是执行,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