程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> [javaSE] 反射-動態加載類,javase加載

[javaSE] 反射-動態加載類,javase加載

編輯:JAVA綜合教程

[javaSE] 反射-動態加載類,javase加載


Class.forName(“類的全稱”)

①不僅表示了類的類類型,還代表了動態加載類

②請大家區分編譯,運行

③編譯時刻加載類是靜態加載類,運行時刻加載類是動態加載類

 

Ⅰ所有的new對象都是靜態加載類

 

在編譯的時刻就要去檢測該類是否存在,如果不存在,編譯失敗。

//對於這種情況,靜態加載不適用,因為我們需要根據輸入來確定加載哪個類

 

package com.tsh.reflect;

class ReflectLoadDemo {
    public static void main(String[] args) {
        
        if(args[0].equals("Word")){
            Word word=new Word();
        }
        if(args[0].equals("Excel")){
            Excel word=new Excel();
        }
    }
}

 

Ⅱ動態加載可以實現當使用的時候才去加載

package com.tsh.reflect;

class ReflectLoadDemo {
    public static void main(String[] args) {
        if(args[0].equals("Word")){
            try{
                Class c=Class.forName("com.tsh.reflect.Word");
                c.newInstance();
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
}
class Word{}

 

 

Ⅲ是代碼更具有擴展性的改動,定義interface接口規范

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved