新手看招:JAVA程序的類加載及其反射機制

發表于:2008-05-07來源:作者:點擊數: 標簽:javaJAVAJava程序加載
關鍵字:類加載及其反射機制 JAVA中類文件加載是動態的。JVM指令是被封裝在了.class文件里面,而.class文件的加載過程是動態的,也就是說當我們用到的時候才會去加載,如果不用的話,就不會去加載我們的類。這里所說的用到包括兩種方式,第一種就是new一個對
關鍵字:類加載及其反射機制

JAVA中類文件加載是動態的。JVM指令是被封裝在了. class文件里面,而.class文件的加載過程是動態的,也就是說當我們用到的時候才會去加載,如果不用的話,就不會去加載我們的類。這里所說的用到包括兩種方式,第一種就是new一個對象的時候(這個時候要特別注意,當設計到多態的時候,就會有一點點變化,這時候編譯器會做一些優化,這樣以來當加載的時候會提前加載設計到多態的類,關于這一點下面有個例子(example 1)來說明。另一種就是當一個類的靜態代碼被調用的時候。 



java 代碼//example 1 // Zoo.java abstract class Animal { Animal(){ System.out.println("Animal constructor"); } } class Tiger extends Animal { Tiger(){ System.out.println("Tig constructor "); } } class Dog extends Animal { Dog(){ System.out.println("Dog Constructor "); } } public class Zoo { private Animal am; //Example 1.1 //private Dog am; Example 1.2 private Tiger tiger; Zoo(){ tiger = new Tiger(); am = new Dog(); } public static void main(String [] args){ System.out.println("new Zoo before"); Zoo z = new Zoo(); System.out.println("new Zoo after "); } }  
 


原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97