品易云推流 关闭
文章详情页
文章 > java基础 > java获取class实例的4种方式

java获取class实例的4种方式

java class

头像

小妮浅浅

2021-05-21 17:03:321036浏览 · 0收藏 · 0评论

1、获取方式

(1)已知具体的类,通过类的 class 属性获取,该方法最为安全可靠,程序性能最高。

(2)已知某个类的实例,调用该实例的 getclass() 方法获取 Class 对象。

(3)已知一个类的全类名,且该类在类路径下,可通过 Class 类的静态方法 forName() 获取,可能抛出 ClassNotFoundException,比较常用。

(4)通过类加载器。

2、实例

@Test
public void test2() throws ClassNotFoundException {
    //方式一:调用运行时类的属性:.class
    Class<Person> clazz1 = Person.class;
    System.out.println(clazz1);//class cn.bruce.java.Person
 
    //方式二:通过运行时类的对象,调用getClass()
    Person p1 = new Person();
    Class<? extends Person> clazz2 = p1.getClass();
    System.out.println(clazz2);//class cn.bruce.java.Person
 
    //方式三:调用Class的静态方法:forName(String classPath)
    Class<?> clazz3 = Class.forName("cn.bruce.java.Person");
    System.out.println(clazz3);//class cn.bruce.java.Person
 
    System.out.println(clazz1 == clazz2);//true
    System.out.println(clazz1 == clazz3);//true
    //方式四:使用类的加载器:ClassLoader  (了解)
    ClassLoader classLoader = ReflectionTest.class.getClassLoader();
    Class<?> clazz4 = classLoader.loadClass("cn.bruce.java.Person");
    System.out.println(clazz4);//class cn.bruce.java.Person
    System.out.println(clazz1 == clazz4);//true
}

以上就是java获取class实例的4种方式,希望对大家有所帮助。更多Java学习指路:Java基础

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图