2011年10月31日 星期一

Class.forName()

在一些應用中,無法事先知道使用者將載入什麼類別(例如載入JDBC驅動程式),而必須讓使用者指定類別名稱以載入類別。你可以使用Class的靜態forName()方法實現動態加載類別,以下是個簡單示範,可以指定類別名稱來獲得類別的相關資訊:

    try {
        Class c = Class.forName(args[0]);
        System.out.println("類別名稱:" + c.getName());
        System.out.println("是否為介面:" + c.isInterface());
        System.out.println("是否為基本型態:" + c.isPrimitive());
        System.out.println("是否為陣列:" + c.isArray());
        System.out.println("父類別:" + c.getSuperclass().getName());
     }
     catch(ArrayIndexOutOfBoundsException e) {
        System.out.println("沒有指定類別名稱");
     }
     catch(ClassNotFoundException e) {
         System.out.println("找不到指定的類別");
     }

http://caterpillar.onlyfun.net/Gossip/JavaEssence/ClassForName.html

沒有留言:

張貼留言