定义方法
函数名与类名完全相同
构造函数注意点
- 函数名与类名完全相同
- 无返回值类型
- 可以有参数,也可以没有参数
- 可以对构造函数进行函数重载(函数名相同,参数不同)
- 当我们定义类后不声明任何构造函数,jvm会帮我们创建一个空参构造,当我们声明了一个有参构造,jvm就不会帮我们创建一个空参构造,若需要,则必须在类中声明一个空参构造
构造函数的作用
- 创建对象,使用new 构造函数名()来创建对象。
- 对象属性设置初值(使用构造函数创建对象后,可为对象属性设置初值,无参构造设置的是null或0,有参设置的是对应的初始值)
子类与父类的构造函数
- 构造函数不能被继承,只能被调用
- 子类构造函数中第一句有一个隐藏的super()语句,是调用父类的空参构造函数。
- 如果父类有一个有参构造,那么子类必须声明一个有参的super()函数,否则会报错(除非父类中已声明一个无参构造)。
构造函数私有化
不能在外部类中实例化这个类(即不能创建这个类的对象,只能在本类内部创建对象,然后对外提供返回对象的方法),此时提供的对象是唯一的。也是单例设计模式的思想