在一个类当中系统会默认提供一个无参数的构造方法;
疑问:
1.构造方法中给属性赋值了?为什么还需要单独定义set方法给属性赋值呢?
在构造方法中赋值是对象第一次创建时属性的值,set方法可以在后期的时候调用,来完成属性值的修改。
2.构造方法执行原理?
构造方法执行包括两个重要阶段:
第一个阶段:对象的创建;
第二个阶段:对象的初始化 ;
2.1对象在什么时候创建的?
new的时候:会直接在堆内存中开辟空间。然后给所有属性赋默认值,完成对象的创建。(这个过程时在构造方法体执行之前就完成了。)
2.2对象初始化在什么时候完成的?
构造方法体开始执行,标志着开始进行对象初始化。
3.构造代码块有什么作用?
如果所有的构造方法在最开始的时候有相同的一部分代码,不妨将这写到代码块中。
{
构造代码块;
}