4.2Java静态初始化块

4.2Java静态初始化块

用于类的初始化操作,在静态初始化块中不能直接访问非static成员

静态初始化执行需要注意的事项:

注意:

  • 上溯到Object类,先执行Object的静态初始化块,在向下执行子类的静态初始化块,直到指定的类的静态初始化块为止

  • 构造方法执行顺序和上面一样

实例:

/**
* 测试static初始化块的用法
* @author Lucifer
*/
public class UserNo3 {
   int id;
   String name;
   String pwd;
   static String company;
   //static初始化块
   static
  {
       System.out.println("执行类的初始化工作");
       company = "Lucifer's Company";
  }
   /*
   这个语句块用static修饰了
   在类初始化的时候执行
   这时候是做类的初始化,不能去调用成员变量
   如果有构造器则会在构造器之前执行
   1.先加载类
   2.弹到构造对象
    */

   //创建一个方法
   public static void printCompany(){
       System.out.println(company);
       return;
  }

   //main方法
   public static void main(String[] args) {
       //创建一个对象
//       UserNo3 u3 = new UserNo3();
       UserNo3 u3 = null;
       /*
       这里没有去创建对象也可以执行static类初始化的结构快
       说明创建对象在类初始化之后
        */
  }
}

 

It's a lonely road!!!
原文地址:https://www.cnblogs.com/JunkingBoy/p/14613104.html