第14章 Java反射机制
14.2.2 Class类的常用方法
14.2.3 反射的应用举例
- String str = "test4.Person";
- Class clazz = Class.forName(str);
- Object obj = clazz.newInstance();
- Field field = clazz.getField("name");
- field.set(obj, "Peter");
- Object obj2 = field.get(obj);
- System.out.println(obj2);
14.2.4 实例化Class类对象(四种方法)
1)前提:若已知具体的类,通过类的class属性获取,该方法
最为安全可靠,程序性能最高
实例:Class clazz = String.class;
2)前提:已知某个类的实例,调用该实例的getClass()方法获
取Class对象
实例:Class clazz = “www.atguigu.com”.getClass();
3)前提:已知一个类的全类名,且该类在类路径下,可通过
Class类的静态方法forName()获取,可能抛出ClassNotFoundException
实例:Class clazz = Class.forName(“java.lang.String”);
4)其他方式(不做要求)
ClassLoader cl = this.getClass().getClassLoader();
Class clazz4 = cl.loadClass(“类的全类名”);
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源。