java反射简单实例_Java教程-查字典教程网
java反射简单实例
java反射简单实例
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了java反射简单实现方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:packagereflect;import...

本文实例讲述了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学习
    编程开发子分类