您的位置:首页 > 编程语言 > Java开发

Java反射——动态加载类

2016-04-01 20:58 567 查看
public class DynamicLoadClass {

public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
String animalName="Cat";
Animal animal = null;
switch (animalName){
case "Cat":
animal=(Animal)Class.forName("ShuiTian.NaiLuo.Reflect.Cat").newInstance();
break;
case "Dog":
animal=(Animal)Class.forName("ShuiTian.NaiLuo.Reflect.Dog").newInstance();
break;
}
System.out.println(animal);
System.out.println(animal.getClass().getSimpleName());
}
}

interface Animal{}
class Cat implements Animal{}
class Dog implements Animal{}


public static void main(String[] args) {
Class stringClass = String.class;// string类的类类型,String类字节码
Class intClass = int.class; // int的类类型
Class c3 = Double.class;
Class voidClass = void.class;

System.out.println(stringClass.getName());
System.out.println(intClass.getName());
System.out.println(c3.getSimpleName());
System.out.println(voidClass.getName());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: