-
java中的静态代码块,构造代码块,构造函数,普通代码块
-
静态代码块:
格式:
public class Test1{
static{
System.out.println("这是一个静态代码块");
}
}
说明:
1.静态代码块在类加载时也就是项目启动时运行并且只运行一次相当于main函数,有多个静态代码块从上往下依次执行,他是一种主动运行的机制。
2.静态代码块不能存在于任何方法中
-
构造代码块
格式:
public class Test2{
{
System.out.printLn("这是一个构造代码块");
}
}
说明:
1.构造代码块在创建对象时调用,创建几次调用几次,优先于构造函数执行
2.因为每次创建对象都会调用一次构造代码块,所以可以用来记录创建了几次对象
-
构造函数
格式:
public class Test3{
private Integer age;
public Test(){
super();
}
public void Test(Integer age){
super();
this.age = age;
}
}
说明:
1.构造函数命名必须与类相
同
2.无返回值
3.不能被直接调用,只能在创建对象时调用
4.java有一个默认的空参构造
-
普通代码块
格式:
public class Test4{
public void commom(){
{
System.out.println("普通代码块");
}
}
}
普通代码块跟构造代码块样子差不多,不过普通代码块写在方法里面,调用方法执行普通代码块。
-
几个代码块的执行顺序
静态代码块>构造代码块>构造函数>普通代码块
-
子父类关系
静态代码块先执行,也就是父类的静态代码块执行完之后执行子类的静态代码块。
在执行父类的构造代码块和构造方法,在执行子类的构造代码块和构造方法。