1、使用对象调用Object的getClass方法
获取字节码对象的方法:要使用这种方法,必须明确具体类别,并创建对象。
public static void getClassObject_1() { Person p = new Person(); Class<?> clazz = p.getClass(); Person p1 = new Person(); Class<?> clazz1 = p1.getClass(); System.out.println(clazz == clazz1); }
2、调用属性
任何数据类型都有静态属性。class可以获得相应的class对象。比较简单,但是要明确使用类别中的静态成员。
public static void getClassObject_2() { Class<?> clazz = Person.class; Class<?> clazz1 = Person.class; System.out.println(clazz == clazz1);//true都是Person类的字节码 }
3、采用forName()方法
可以通过给定类别的字符串名来获得,并且可以更加扩展。但是在Class类中完成。这种方法是forName.这种方法只要有名字就可以,更加方便,更加可扩展。
public static void getClassObject_3() throws ClassNotFoundException { String className = "com.ldb.po.Person"; Class<?> clazz = Class.forName(className); System.out.println(clazz); }
以上是如何用java反射获取对象的详细内容。更多信息请关注PHP中文网其他相关文章!