⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classinitialization.java

📁 这是Thinking in Java最新版第4版的源代码
💻 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 + -