• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 新手看招: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.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>