同級別的變量(static和普通變量)的執行順序由代碼執行順序決定(從上到下也就是代碼書寫順序)
package com.rumenz; public class Rumenz { private Integer id=100; private static String name="入門小站"; { System.out.println("構造代碼塊。。。"); System.out.println("變量 id:"+id); } static { System.out.println("靜態變量name:"+name); System.out.println("靜態代碼塊。。。"); } public Rumenz() { System.out.println("構造方法。。。。"); } public static void main(String[] args) { Rumenz r=new Rumenz(); } }
執行Rumenz r=new Rumenz();輸出html
靜態變量name:入門小站 靜態代碼塊。。。 構造代碼塊。。。 變量 id:100 構造函數。。。。
不執行Rumenz r=new Rumenz();輸出java
靜態變量name:入門小站 靜態代碼塊。。。
public Rumenz() { System.out.println("構造方法。。。。"); }
{ System.out.println("構造代碼塊。。。"); }
static { System.out.println("靜態代碼塊。。。"); }
原文: https://rumenz.com/rumenbiji/ constructor-static-code-block.htmljvm