给定条件的反射机制

来源:互联网 发布:英语网络外教 编辑:程序博客网 时间:2024/04/28 07:48

/*
 *用死灵法师的例子来演示类的反射
 *和老师的例子几乎一样,但是其结果总是报错,即是在
 *"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
原创粉丝点击