靜態加載:
package com.imooc.加載類;public class Office_Static {public static void main(String[] args) {//new 創建對象,是靜態加載類,在編譯時刻就需要加載所有的可能使用到的類if("Word".equals(args[0])){Word w = new Word();w.start();}if("Excel".equals(args[0])){Excel e = new Excel();e.start();}}}這個程序編譯時必須有Word和Excel這兩個類存在才行,即使判斷後用不到Excel也要加載
動態加載:
1、接口OfficeAble :
package com.imooc.加載類;public interface OfficeAble {public void start();}2、Word實現接口:
package com.imooc.加載類;public class Word implements OfficeAble{public void start(){System.out.println("word start");}}3、Excel實現接口:
package com.imooc.加載類;public class Excel implements OfficeAble{public void start(){System.out.println("excel start");}}4、Main方法
package com.imooc.加載類;public class OfficeBetter {/** * @param args */public static void main(String[] args) {try {//動態加載類,在運行時刻加載Class c = Class.forName(args[0]);//在運行配置裡面輸入com.imooc.加載類.Excel//通過類類型,創建該類對象(先轉換為Word和Excel的共同接口OfficeAble)OfficeAble oa = (OfficeAble)c.newInstance();oa.start();//不推薦下面兩種,因為不確定是加載Word還是Excel,要強轉//Word word = (Word)c.newInstance();//word.start();//Excel excel = (Excel)c.newInstance();//excel.start();} catch (Exception e) {e.printStackTrace();}}}以上就是小編為大家帶來的Java反射之靜態加載和動態加載的簡單實例的全部內容了,希望對大家有所幫助,多多支持武林網~