*用死灵法师的例子来演示类的反射
*和老师的例子几乎一样,但是其结果总是报错,即是在
*"Class c=Class.forName(heroType);"报错,不知道
*错在何处,希望知道的童鞋予以指正。效果图片为正确的
*控制台输出结果。
*以下是老师的代码效果:↓
*
![给定条件的反射机制 - lishirong - The CTO of LiShirong 给定条件的反射机制 - lishirong - The CTO of LiShirong](http://img.ph.126.net/rfWqNBRhUqV1_QePc-tLdA==/45598946244001478.jpg)
*以下是我的代码效果:↓
*
![给定条件的反射机制 - lishirong - The CTO of LiShirong 给定条件的反射机制 - lishirong - The CTO of LiShirong](http://img.ph.126.net/uuYJ0yESsB__enJT2ZB-mQ==/2750854947410115701.jpg)
*以下是我的代码部分:↓
*/
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("死灵法师跑");
}
}