好贷网好贷款

Java 反射

发布时间:2016-12-4 16:28:29 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Java 反射",主要涉及到Java 反射方面的内容,对于Java 反射感兴趣的同学可以参考一下。

a之反射 分类: Reflect 2013-09-14 23:10 50人阅读 评论(0) 收藏 举报 反射的最大好处就是可扩展性。。。以下为例子实现。。。 因为如果要添加功能,就不再需要改主函数的代码了,只需改动配置文件即可。。。   [java] view plaincopyprint? package heng.java.reflect.notebook;    import java.io.File;  import java.io.FileInputStream;  import java.io.IOException;  import java.util.Properties;    public class NoteBookMain {      public static void main(String[] args) throws IOException, Exception {                    NoteBook book = new NoteBook();                    book.run();          //book.useUSB(null);                              //对外提供配置文件。          File configFile = new File("usb.properties");          if(!configFile.exists()){              configFile.createNewFile();          }          //读取流和配置文件关联          FileInputStream fis = new FileInputStream(configFile);          Properties prop = new Properties();          prop.load(fis);                    for (int i = 1; i <= prop.size(); i++) {              String className = prop.getProperty("usb"+i);                            Class clazz = Class.forName(className);                            USB usb = (USB)clazz.newInstance();              book.useUSB(usb);          }      }    }     [java] view plaincopyprint? package heng.java.reflect.notebook;    public class NoteBook {      public void run(){          System.out.println("Running");      }      public void useUSB(USB usb){          if(usb != null){              usb.close();              usb.open();          }      }  }    对外接口: [java] view plaincopyprint? package heng.java.reflect.notebook;    public interface USB {      void close();      void open();  }    功能一: [java] view plaincopyprint? package heng.java.reflect.notebook;    public class MouseByUSB implements USB{            public void close(){          System.out.println("mouse close");      }      public void open(){          System.out.println("mouse open");      }  }    功能二: [java] view plaincopyprint? package heng.java.reflect.notebook;    public class KeyByUSB implements USB {        @Override      public void close() {          System.out.println("Key close");      }        @Override      public void open() {          System.out.println("Key open");      }    }       配置文件: [java] view plaincopyprint? usb1=heng.java.reflect.notebook.MouseByUSB  usb2=heng.java.reflect.notebook.KeyByUSB

上一篇:C语言 判断是否素数
下一篇:[转]考虑时间(Thinking&nbsp;Time)的…

相关文章

关键词: Java 反射

相关评论