package cn.sdut.reflectclass;
/*
* 反射第一步 : 创建Class 对象的三种方式,表示一个字节码对象。
*/
public class ReflectDemo01 {
public static void main(String[] args) throws Exception {
//方式一: 类名.class
Class clz1 = ReflectDemo01.class;
System.out.println(clz1);
//方式二: 对象的getClass()方法, getClass()是Object类中的方法,所以所有对象都有这个方法
Class clz2 = new ReflectDemo01().getClass();
System.out.println(clz2);
//方式三: 通过Class类中的静态方法 forName().
Class clz3 = Class.forName("cn.sdut.reflectclass.ReflectDemo01");
System.out.println(clz3);
//验证: 同一个类的在 JVM中只存在一份字节码对象。
System.out.println(clz1==clz2);//true
System.out.println(clz1==clz3);//true
System.out.println(clz2==clz3);//true
}
}
反射第一步 : 创建Class 对象的三种方式,表示一个字节码对象。
最新推荐文章于 2024-12-21 00:38:29 发布
本文介绍了Java反射机制的基础概念,详细讲解了如何通过三种不同的方式创建Class对象,这三种方式包括使用类名.class、对象的getClass()方法以及Class类的静态方法forName()。通过实例演示了这些方法的一致性,并验证了同一个类在JVM中只存在一份字节码对象。
673

被折叠的 条评论
为什么被折叠?



