zoukankan      html  css  js  c++  java
  • javase--反射

    //书写规则
    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 }
  • 相关阅读:
    _I、_O、_IO的含义
    ARM启动代码中_main 与用户主程序main()的区别
    ARM汇编程序中的伪指令
    oracle密码过期问题
    等待界面-调转页面前button篇
    等待效果
    winfrom中Application.Restart()
    自动刷新处理
    泛微E8二次开发
    我的菜园子
  • 原文地址:https://www.cnblogs.com/czb2580/p/5878843.html
Copyright © 2011-2022 走看看