代码块
静态代码块
代码块是类的成分之一:
成员变量,方法,构造器,代码块,内部类。代码块按照有无static修饰分为:
1.静态代码块。
2.实例代码块。静态代码块的格式:
static { }静态代码块特点:
– 必须有static修饰。
– 会与类一起优先加载,且自动触发执行一次。静态代码块作用:
– 可以在执行类的方法等操作之前先在静态代码块中进行静态资源的初始化操作。小结:
静态代码块有static修饰,与类一起优先加载,自动触发执行一次。
静态代码块的作用:可以用于在静态代码块中进行静态资源的初始化操作。
public class demo_2 {
static{
System.out.println("静态代码块");
}
public static void main(String[] args){
}
}
常见的使用例子,静态东西先初始化!!!逼格高!!!
public class demo_2 {
public static List<String> cards = new ArrayList<>();
static{
cards.add("红桃3");
cards.add("黑桃3");
}
public static void main(String[] args){
System.out.println(cards);
}
}
实例代码块(用的少)
实例代码块的格式:
{ }实例代码块的特点:
– 无static修饰。
– 会与类的对象一起加载,每次创建类的对象的时候,
实例代码块都会被加载且自动触发执行一次。
– 实例代码块的代码在底层实际上是提取到每个构造器中去执行的!实例代码块的作用:
– 实例代码块可以在创建对象之前进行实例资源的初始化操作。小结:
实例代码块无static修饰,属于对象,与对象一起加载执行。
实例代码块的代码在底层实际上是提取到每个构造器中去执行的!
实例代码块可以在创建对象之前进行实例资源的初始化操作。
public class demo_2 {
{
System.out.println("实例代码块");
}
public static void main(String[] args){
new demo_2(); //匿名代码块
new demo_2();
}
}