Class.forName() 和使用 類字面常量的區別

進來一看,罪過罪過,竟然有3個月沒記東西了。spa

今晚看了幾頁書,幾個零碎的知識點,記一下:編譯

獲取一個類 org.common.A 的Class引用時,有兩中方法,class

  1. 調用Class.forName("org.common.A")。引用

  2. 使用 A.class (前提是,A 必須得通過編譯)。這種狀況下,方法


假如A類以下:im

class A{static

    public A(){         //co

                            //  若是不存在默認構造方法,那麼new

                            // Class a = Class.forName("org.common.A");
實例化

                            //    a.newInstance() 時會報錯。  newInstance() 就是調用默認的構造方法來執行實例化的。

    }


    static final int staticFinal = 100;      // 調用這個常量時,若是A 類沒有初始化,並不會執行初始化,由於這個量是編譯常量。

    static final int staticFinal2 = System.currentTimeMillis();  // 調用這個量時,若是類 A 沒有被初始化,那麼就會初始化 A。

}

相關文章
相關標籤/搜索