1.构造方法名称与类名相同,没有返回值声明(包括void)
2.构造方法用于初始化数据(属性)
3.每一个类中都会有一个默认的无参构造方法
4.如果类中有显示的构造方法,那么默认构造方法将无效
5.如果有显示的构造方法,还想保留默认的构造方法,需要将默认的构造方法写出来
6.构造方法可以有多个,但参数不一样,成为构造方法的重载
7.在构造方法中调用另一个构造方法,使用this(...),该句代码必须在第一句
8.构造方法之间的调用,必须要有出口,不然会进入死循环。
9.给对象初始化数据可以使用构造方法或setter方法,通常情况下,两者都会保留
10.一个好的编程习惯是要保留默认的构造方法。(为了方便一些框架代码使用反射来创建对象)
11.private Class(){} 构造方法私有化,当我们的需求是为了保证该类只有一个对象时
什么时候一个类只需要一个对象?比如,工具类(没有属性的类,只有行为)并且该工具对象被频繁使用。权衡只用一个对象与产生多个对象的内存使用,来确定该类是否要定义为只需要一个对象。