1 package cn.reflex; 2 3 public interface PCI { 4 5 public void open(); 6 public void close(); 7 } //調用方法 package cn. reflex ; 2 3 import java.io.File ...
//書寫規則
1 package cn.reflex; 2 3 public interface PCI { 4 5 public void open(); 6 public void close(); 7 }
//調用方法
package cn. reflex ; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.util.Properties; 6 7 public class Reflecttext { 8 9 public static void main(String[] args) throws Exception { 10 // TODO Auto-generated method stub 11 12 Mainboard mb = new Mainboard(); 13 mb.run(); 14 15 File configFile = new File("PCI.properties");// 讀取配置文件 16 Properties prop = new Properties();// 用來獲取鍵值對的集合 17 FileInputStream fi = new FileInputStream(configFile);// 創建流將配置文件讀取進來 18 prop.load(fi);// 將流載入進集合中 19 20 // 迴圈讀取流中配置文件數據 21 for (int x = 0; x<=prop.size(); x++) { 22 23 String pciName = prop.getProperty("pci" +x); 24 if (pciName!=null) { 25 Class<?> clazz = Class.forName(pciName);//用Class去載入pci子類對象 26 27 PCI pci = (PCI)clazz.newInstance();//新的對象實例化 28 29 mb.usePCI(pci); 30 } 31 } 32 fi.close(); 33 } 34 }
1 //運行主板
package cn.reflex; 2 3 public class Mainboard { 4 5 public void run() { 6 System.out.println("主板運行"); 7 } 8 9 public void usePCI(PCI p) { 10 11 if (p != null) { 12 p.open(); 13 p.close(); 14 } 15 16 } 17 //插入音效卡
1 package cn.reflex; 2 3 public class Netcard implements PCI { 4 5 @Override 6 public void open() { 7 System.out.println("網卡打開"); 8 } 9 @Override 10 public void close() { 11 System.out.println("網卡關閉"); 12 } 13 14 }