Java 中的构造器(也称为构造方法)是一种特殊的方法,用于初始化对象的状态。在创建 Java 类的实例时,构造器会被自动调用。
-
构造器的定义:
- 构造器的名称必须与类名完全相同。
- 构造器没有返回值类型,甚至不包括
void
。 - 构造器通常用于实例化对象并赋予初始值。
-
默认构造器:
- 如果我们没有手动定义构造器,Java 系统会提供一个默认的无参构造器。
- 这就是为什么即使没有定义任何构造器,我们仍然可以使用
new 类名()
来实例化对象。
-
禁止对象被外部创建:
- 有时我们不希望某个类的对象被外部创建(例如单例模式)。
- 可以将构造器的修饰符改为
private
,这样就不能在外部通过new
来创建该对象了。
-
构造器重载:
- 与普通方法一样,构造器也支持重载。
- 一个类中可以同时定义多个构造器,通过不同的参数列表来实现重载。
- 例如:
new People()
和new People("张三")
就是构造器重载。
-
构造器的继承:
- 子类构造器会默认调用父类的无参构造器。
- 如果父类没有无参构造器,则必须在子类构造器的第一行使用
super
关键字指定调用父类的哪个构造器。
-
构造器、静态代码块、构造代码块的执行顺序:
- 静态代码块:程序启动后执行一次,优先级最高。
- 构造代码块:每次调用构造方法都会执行一次,优先级低于静态代码块。
- 构造器:优先级低于构造代码块。