构造方法是类的一种特殊方法,用来初始化类的一个新的对象,在创建对象(new 运算符)之后自动调用。Java 中的每个类都有一个默认的构造方法,并且可以有一个以上的构造方法。一旦你定义了自己的构造方法,默认构造方法就会失效,不会自己自动生成无参构造方法。
Java 构造方法有以下特点:
方法名必须与类名相同
可以有 0 个、1 个或多个参数
没有任何返回值,包括 void
默认返回类型就是对象类型本身
只能与 new 运算符结合使用
值得注意的是,如果为构造方法定义了返回值类型或使用 void 声明构造方法没有返回值,编译时不会出错,但 Java 会把这个所谓的构造方法当成普通方法来处理。
注意:构造方法不能被 static、final、synchronized、abstract 和 native(类似于 abstract)修饰。构造方法用于初始化一个新对象,所以用 static 修饰没有意义。构造方法不能被子类继承,所以用 final 和 abstract 修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,所以用 synchronized 修饰没有必要。
构造方法和静态方法块以及匿名方法块执行顺序
package com.baidu.Random;
public class demo2 {
{
System.out.println("匿名代码块");//第二执行
}
static{
System.out.println("静态代码块");//最先执行
}
public demo2(){
System.out.println("构造器");
}
}