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反射之靜態加載和靜態加載的簡略實例的全體內容了,願望對年夜家有所贊助,多多支撐~