5.18 静态代码块
demo1
class Person {
    public Person(){
        System.out.println("[构造方法]Person 类构造方法执行");
    }
    {// 构造块-会先于构造方法执行;并且每次实例化新对象的时候,都会调用构造块中的代码;
        System.out.println("[构造块] Person 构造块执行!");
    }
    // 静态代码块---会优先于构造块执行,并且,不管有多少个实例化对象多少次,只会执行一次;
    static {
        System.out.println("[静态块] Person 静态块执行");
    }
}
public class HelloWorld {
    public static void main(String[] args) {
        new Person();
        new Person();
        new Person();
    }
}
// 静态代码块---主要指的是使用static关键词定义的代码块;
// 分2种情况:
// 1.在非主类中进行静态块的定义;
// 2.在主类中进行静态块的定义;

demo2
class Message {
    public static String getCountry (){
        return "中华人民共和国";
    }
}
class Person {
    private static String country;
    static { // 静态代码块中可能有很多行需要执行;
        country = Message.getCountry();
        System.out.println(country);
    }
}
public class HelloWorld {
    public static void main(String[] args){
        new Person();
    }
    
}
demo3
public class HelloWorld {
    static {// 静态代码块,优先于主方法先执行。
        System.out.println("**** 初始化程序 *****");
    }
    public static void main(String[] args){
        System.out.println("www.baidu.com");
    }
    
}
    相信坚持的力量,日复一日的习惯.
 
                    
                     
                    
                 
                    
                 
    
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号