从配置文件读取配置信息来进行反射

15 篇文章 0 订阅

/*
 * 从配置文件读取配置信息来进行反射
 * 结果并不是很理想
 * 以下是并不理想的效果截图:↓
 *

从配置文件读取配置信息来进行反射 - lishirong - The CTO of LiShirong
 

 
 * 老师的效果是什么都没输出。
 * 以下是我的代码部分:↓
 */
package MyIO;
import java.io.*;
import java.lang.reflect.*;
public class SiLingFaShiFromPro {
 public static void main(String args[]){
  try {
   File f=new File("d:/Pro.ini");
   FileReader fr=new FileReader(f);
   BufferedReader br=new BufferedReader(fr);
   String mc=br.readLine();
   String mm=br.readLine();
   Class c=Class.forName(mc);
   Object o=c.newInstance();
   Method m=c.getMethod(mm);
   m.invoke(o);
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 }
}


class 死灵法师{

 public void kill() {
  // TODO Auto-generated method stub
  System.out.println("死灵法师打");
 }

 public void run() {
  // TODO Auto-generated method stub
  System.out.println("死灵法师跑");
 }
 
}

class 野蛮人{
 public void kill(){
  System.out.println("野蛮人打");
 }
 public void run(){
  System.out.println("野蛮人跑");
 }
}


以下是老师的代码部分:↓


/*
 * 调用电脑的配置文件,实现多态
 */
import java.io.*;
import java.lang.reflect.*;

public class SiLingFaShi_08{
 public static void main(String args[]){
  try{
   File f = new File("e:/Software/MyEclipse/filetest/pro.ini") ;
   
   FileReader fr = new FileReader(f) ;
   BufferedReader br = new BufferedReader(fr) ;
   
   String mc = br.readLine() ;
   String mm = br.readLine() ;
   
   Class c = Class.forName(mc) ;
   
   Object o = c.newInstance() ;
   
   Method m = c.getMethod(mm) ;
   
   m.invoke(o) ;
  }catch(Exception e){}
 }
}

class YeManRen {
 public void kill() {
  System.out.println("野蛮人打") ;
 }
 public void run() {
  System.out.println("野蛮人跑") ;
 }
}

class SiLingFaShi {
 public void kill() {
  System.out.println("死灵法师打") ;
 }
 public void run() {
  System.out.println("死灵法师跑") ;
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值