Java 反射的应用练习
来源:互联网 发布:苹果4s有4g网络吗 编辑:程序博客网 时间:2024/06/08 18:52
package p2.reflect.test;import java.awt.event.MouseWheelEvent;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.util.Properties;public class ReflectTest {public static void main(String[] args) throws IOException, ClassNotFoundException, InstantiationException, IllegalAccessException {MainBoard mb=new MainBoard();mb.run();//每次添加一个设备都需要修改代码传递一个新创键的对象 //mb.usePCI(new SoundCard());//能不能不修改代码就能完成这个动作//不用new来完成 而是直接获取器class文件 在内部实现创建对象的动作File configFile=new File("pci.properties");Properties prop=new Properties();FileInputStream fis=new FileInputStream(configFile);prop.load(fis);for(int x=0;x<prop.size();x++) {String pciName=prop.getProperty("pci"+(x+1));Class clazz=Class.forName(pciName); //用class去加载这个pci子类PCI p= (PCI)clazz.newInstance();mb.usePCI(p);}fis.close();}}
package p2.reflect.test;/* * 电脑运行 */public class MainBoard {public void run() {System.out.println("mainboard run");}public void usePCI(PCI p) {if(p!=null) {p.open();p.close();}}}package p2.reflect.test;public class SoundCard implements PCI {public void open() {System.out.println("sound open");}public void close() {System.out.println("sound close");}}
package p2.reflect.test;public interface PCI {public void open();public void close();}配置文件中:pci1=p2.reflect.test.SoundCard 通过修改该配置文件内容 就可以不修改代码实现动态修改程序 (使主板 接入不同实现pci接口的的设备)
阅读全文
0 0
- Java 反射的应用练习
- java反射的初步练习
- 简单的java反射练习
- Java反射的简单练习
- Java反射的应用
- java反射的应用
- Java反射的应用
- java反射的应用
- java反射的应用
- 《Java反射的应用》
- java反射的应用
- Java反射-------构造方法的反射应用
- java反射(3)--反射的应用
- Java的Reflect反射基础API练习
- java反射的简单应用
- JAVA反射机制的应用
- java反射机制的应用
- java反射(Field的应用)
- 网狐荣耀版android编译时出现“未找到工程,Android 目标平台版本应该大于或等于 21”
- 仿微信、QQ评论点击事件
- 网狐荣耀版房卡游戏在手机客户端不出现房卡房间
- java 视频会议、视频沟通、远程教育、java视频会议系统
- [面试经验]C++相关面试题
- Java 反射的应用练习
- dfs城堡问题 百练2815
- 树人教育CRM系统总结
- 171029-上机的几个失败练习【连续第六天】
- [DeeplearningAI笔记]Multi-class classification多类别分类Softmax regression_02_3.8-3.9
- 网狐荣耀版vs生成解决方案时出现“出现未能写入日志,请求的操作无法在使用用户映射区域打开的文件上执行“错误
- 十年后,程序员还会有今天的收入吗?
- win7开启虚拟网卡 cmd
- Hibernate与 MyBatis的比较