给定条件的反射机制

/*
 *用死灵法师的例子来演示类的反射
 *和老师的例子几乎一样,但是其结果总是报错,即是在
 *"Class c=Class.forName(heroType);"报错,不知道
 *错在何处,希望知道的童鞋予以指正。效果图片为正确的
 *控制台输出结果。
 *以下是老师的代码效果:↓
 *

给定条件的反射机制 - lishirong - The CTO of LiShirong
 

 *以下是我的代码效果:↓
 *

给定条件的反射机制 - lishirong - The CTO of LiShirong

 
 *以下是我的代码部分:↓
 */


package MyIO;

public class SiLingFaShi{
 public static void main(String args[]){
  try{
   String heroType="Human";
   Class c=Class.forName(heroType);
   Hero h=(Hero)c.newInstance();
   h.kill();
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}

class A{
 int i=10;
 public void aaa(){
  System.out.println("sssssssssssssssssssss");
 }
 A(){
  System.out.println("AAAAAAAAAAAAAAAAAAAA");
  
 }
// static {
//  System.out.println("aaaaaaaaaaaaaaaaaaa");
// }
}

interface Hero{
 public void run();
 public void kill();
}

class Human implements Hero{

 public void kill() {
  // TODO Auto-generated method stub
  System.out.println("Human kill");
 }

 public void run() {
  // TODO Auto-generated method stub
  System.out.println("Human run");
 }
 
}

class Animal implements Hero{

 public void kill() {
  // TODO Auto-generated method stub
  System.out.println("Animal kill");
 }

 public void run() {
  // TODO Auto-generated method stub
  System.out.println("Animal run");
 }
 
}


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


public class SiLingFaShi_07{
 public static void main(String args[]){
   try {
   String heroType="死灵法师";
   //生成一个死灵法师的类
   Class c=Class.forName(heroType);
   //产生一个类c的实例
   Hero h=(Hero)c.newInstance();
   h.kill();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

class A{
 int i=10;
 public void aaa(){
  System.out.println("sssssssssssssssssssss");
 }
 A(){
  System.out.println("AAAAAAAAAAAAAAAAAAAA");
  
 }
// static {
//  System.out.println("aaaaaaaaaaaaaaaaaaa");
// }
}

interface Hero{
 public void run();
 public void kill();
}

class 野蛮人 implements Hero{

 public void kill() {
  // TODO Auto-generated method stub
  System.out.println("野蛮人打");
 }

 public void run() {
  // TODO Auto-generated method stub
  System.out.println("野蛮人跑");
 }
 
}

class 死灵法师 implements Hero{

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值