<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    沙漠中的魚

    欲上天堂,先下地獄
    posts - 0, comments - 56, trackbacks - 0, articles - 119
      BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

    Class.forName("Gum");

    forName是取得Class引用的一種方法,返回一個Class對象的引用。

    如果Gum類還沒有被加載就加載它,在加載過程中,Gum的靜態子句被執行。

    可能產生的異常:ClassNotFoundException

    Class.getInterfaces("Gum")

    返回對象是Class類型,表示類Gum包含的接口

    如類Gum implements interface1,

    則會獲取到interface1的類對象

    Class.newInstance()

    實現“虛擬構造器”的一種途徑

     

    類字面常量

    obj.Class生成對Class對象的引用,它比forName更加安全,因為它在編譯時就接受檢查。

    注意:當使用.Class來創建Class對象的引用時,不會自動初始化Class對象。

    class Initable{
        
    static final int staticFinal=47;
        
    static final int staticFinal2=ClassInitialization.rand.nextInt(1000);
        
    static{
            System.out.println(
    "Initialzing Initable");
        }

    }

    class Initable2{
        
    static int staticNonFinal=147;
        
    static{
            System.out.println(
    "Initialzing Initable2");
        }

    }

    class Initable3{
        
    static int staticNonFinal=74;
        
    static{
            System.out.println(
    "Initialzing Initable3");
        }

    }

    public class ClassInitialization {
        
    public static Random rand=new Random(47);
        
    public static void main(String[] args){
            Class initable
    =Initable.class;
            System.out.println(
    "After creating Initable ref");
            System.out.println(Initable.staticFinal);
            System.out.println(Initable.staticFinal2);
            System.out.println(Initable2.staticNonFinal);
            Class initable3
    =Class.forName("Initable3");
            System.out.println(
    "After creating Initable3 ref");
            System.out.println(Initable3.staticNonFinal);
        }

    }

     

    輸出結果為:

    Initialzing Initable
    After creating Initable ref
    47
    258
    Initialzing Initable2
    147
    Initialzing Initable3
    After creating Initable3 ref
    74

    結論:如果一個static final值是"編譯期常量",就象Initable.staticFinal那樣,那么這個值不需要對Initable類初使化就可以讀取,但是如果只是將一個域設置為static和final的,如對Initable.staticFinal2的訪問將進行強制的初使化,因為它不是一個編譯型常量。

    如果一個static而不是final的,那么在它訪問時,總是要求進行鏈接(為這個域分配存儲空間)和初始化(初始化該存儲空間),就像對Initable2.staticNonFinal那樣。

    泛化的Class引用

    Class<Integer> iniClass=int.class

    新的轉型語法

    case()

    InstanceOf

    反射

    getMethods()返回Method對象的數組

    getConstructors()返回Contructor對象的數組

    動態代理

    實現InvocationHandler接口

    public Object invoke(Objct proxy,Method method,Object[] args)throws Throwable{}方法

    通過Proxy.newProxyInstance(ClassLoader,Class[],InvocationHandler)創建動態代理

    具體示例參見:

    http://www.tkk7.com/aoneany/articles/271019.html

    主站蜘蛛池模板: 久久亚洲精品成人无码| 亚洲一级毛片免费看| 亚洲熟女精品中文字幕| 男人天堂免费视频| 亚洲AV无码一区二区三区网址| 日韩高清免费在线观看| 57pao国产成永久免费视频| 两个人看www免费视频| 久久久久亚洲精品日久生情| 亚洲无码高清在线观看| 免费真实播放国产乱子伦| 最近最好的中文字幕2019免费| 相泽南亚洲一区二区在线播放| 亚洲中文字幕久久精品无码APP | 野花高清在线观看免费3中文| 噜噜综合亚洲AV中文无码| 亚洲无人区一区二区三区| 亚洲?v无码国产在丝袜线观看| 久久精品免费观看| 在线免费观看伊人三级电影| 亚洲一区二区三区在线网站| 亚洲精品无码久久久久AV麻豆| 99视频免费观看| 日本免费人成网ww555在线| 精品多毛少妇人妻AV免费久久| 亚洲国产日韩在线人成下载| 久久夜色精品国产噜噜噜亚洲AV | 99视频在线观看免费| 黄色a级片免费看| 亚洲av纯肉无码精品动漫| 亚洲精品无码专区| 亚洲爱情岛论坛永久| 国产男女猛烈无遮档免费视频网站 | 亚洲av永久无码精品秋霞电影秋| 亚洲va中文字幕无码久久不卡| 精品国产免费观看| 色吊丝永久在线观看最新免费| 黄色网址在线免费| 久久精品成人免费网站| 91成人在线免费视频| 色播精品免费小视频|