类和类的成员:
(1)成员变量:属性
(2)成员方法:特殊成员方法 getter和setter 有静态成员方法,非静态成员方法
(3)构造器/构造方法
(4)初始块/初始代码块
(5)内部类
类的成员之四:初始代码块
初始代码块:一般来说是用于类或实例成员变量的初始化,分为静态代码块和非静态代码块(构造代码块)
1、构造代码块:
每次创建对象时都会被执行,而且优先于构造方法执行
(1)演示情况一
演示情况二:
2、静态代码块:
一个类中初始化块若有修饰符,则只能被static修饰,称为静态代码块(static block ),当类被载入时,类属性的声明和静态代码块先后顺序被执行,且只被执行一次。
作用:static块通常用于初始化static (类)属性
注意:
(1)静态代码块优先于构造代码块和构造方法执行,且只被执行一次。
(2)在静态代码块中不能访问非静态属性和方法哦
演示情况一:
演示情况二:
public class TestCodeBlock {
public static void main(String[] args) {
Vehicle v1=new Vehicle();
Vehicle v2=new Vehicle();
}
}
class Vehicle{
static{
System.out.println("静态代码块");
}
{
System.out.println("构造代码块");
//每次创建对象都会调用
}
public Vehicle(){
System.out.println("无参构造");
}
}