?? classinitialization.java
字號:
package chapter14;
import java.util.*;
class Initable{
static final int staticFianl=47;
static final int staticFinal2=ClassInitialization.rand.nextInt(1000);
static{
System.out.println("Initialization Initable");
}
/*
* static 語句在類被加載時都會被執行。
*/
}
class Initable2{
static int staticNonFinal=74;
static{
System.out.println("Initializing Initable2");
}
}
class Initable3{
static int staticNonFinal=74;
static {
System.out.println("Initializing Initables3");
}
}
public class ClassInitialization {
public static Random rand=new Random(47);
public static void main(String args[])throws Exception{
Class initable=Initable.class;
/*
* 用了這條語句也就是用.class創建對Class對象的引用時,不會自動初始化類。
*/
System.out.println("After creating initable ref");
System.out.println(Initable.staticFianl);
System.out.println(Initable.staticFinal2);
/******************** ********************************/
System.out.println(Initable2.staticNonFinal);
/****************************************************/
try{
Class.forName("chapter14.Initable3");
/*
* 如果沒能加上chapter14.拋出了異常,加上后就正常了。
*/
}catch(Exception e){}
System.out.println("After creating Initable3 ref");
System.out.println(Initable3.staticNonFinal);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -