java反射简单实例
本文实例讲述了java反射简单实现方法。分享给大家供大家参考。具体实现方法如下:
复制代码 代码如下: package reflect;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;
interface fruit{
public abstract void eat() ;
}
class Apple implements fruit{
public void eat() {
System.out.println("eat Apple");
}
}
class orange implements fruit{
public void eat() {
System.out.println("eat orange");
}
}
class init{
public static Properties getPro() throws FileNotFoundException, IOException{
Properties pro = new Properties() ;
File f = new File("fruit.properties") ;
if(f.exists()){
System.out.println("有配置文件!");
//从配置文件中读取键值对
pro.load(new FileInputStream(f)) ;
}else{
System.out.println("没有配置文件!");
pro.setProperty("apple", "reflect.Apple") ;
pro.setProperty("orange", "reflect.orange") ;
pro.store(new FileOutputStream(f), "FRUIT CLASS");
}
return pro ;
}
}
class Factory{
public static fruit getInstance(String className){
fruit f = null ;
try {
//通过反射得到fruit的实例对象
f = (fruit)Class.forName(className).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return f ;
}
}
public class Hello {
public static void main(String[] args) {
try {
Properties pro = init.getPro() ;
fruit f = Factory.getInstance(pro.getProperty("apple")) ;
if(f != null){
f.eat() ;
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
结果为:
有配置文件!
eat Apple
希望本文所述对大家的java程序设计有所帮助。
您可能感兴趣的文章:
- Java 反射机制 的超简单实例分析
- Java中的反射和内省简单实例
- JAVA反射简单实例
- Java 反射机制 的超简单实例分析
- java反射简单实例
- 利用反射获取Java类中的静态变量名及变量值的简单实例
- java中利用反射调用另一类的private方法的简单实例
- java 反射机制(一)简单实例
- java的简单反射运用实例(读取csv文件映射为对象)
- Java反射简单实例
- Java反射之静态加载和动态加载的简单实例
- Java利用自定义注解、反射实现简单BaseDao实例
- java反射_改变private中的变量及方法的简单实例
- Java 反射调用静态方法的简单实例
- java反射简单实例
- Java的反射 基础+简单复制对象实例
- Java中反射调用的简单实例
- Java反射简单实例
- java图像界面开发简单实例-Graphics2D、Rectangle2D、Ellipse2D、Line2D的简单应用
- java.util.Timer类简单实例