Java反射之靜態加載和靜態加載的簡略實例。本站提示廣大學習愛好者:(Java反射之靜態加載和靜態加載的簡略實例)文章只能為提供參考,不一定能成為您想要的結果。以下是Java反射之靜態加載和靜態加載的簡略實例正文
靜態加載:
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反射之靜態加載和靜態加載的簡略實例的全體內容了,願望對年夜家有所贊助,多多支撐~