Java中通过Class类获取Class对象的方法详解

 更新时间:2017年08月28日 10:28:26   作者:17十七  
这篇文章主要给大家介绍了关于Java中通过Class类获取Class对象的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。

前言

本文主要给大家介绍的是关于Java通过Class类获取Class对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

阅读API的Class类得知,Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的

获取Class对象的三种方式(实例采用Person类)

方式1:通过Object类的getObject()方法   

Person p = new Person();
Class c = p.getClass();

方式2: 通过 类名.class 获取到字节码文件对象(任意数据类型都具备一个class静态属性,看上去要比第一种方式简单)。

Class c2 = Person.class;

方式3: 通过Class类中的方法(将类名作为字符串传递给Class类中的静态方法forName即可)。  

Class c3 = Class.forName("Person");

注意:第三种和前两种的区别

前两种你必须明确Person类型.

后面是指定这种类型的字符串就行.这种扩展更强.我不需要知道类名.我只提供字符串,按照配置文件加载就可以了

代码演示:

public class ReflectDemo {
 public static void main(String[] args) throws ClassNotFoundException {
  //通过Object类的getObject()方法   
  Person p = new Person();
  Class c1 = p.getClass();
  System.out.println(c1);
   
  //类名.class 获取到字节码文件对象
  Class c2 =Person.class;
  System.out.println(c2);
   
  //通过Class类中的方法forName()
  Class c3 = Class.forName("cn.shiqi.demo1.Person");
  System.out.println(c3);
 }
}
class Person{
 
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Java单例模式实例简述

    Java单例模式实例简述

    这篇文章主要介绍了Java单例模式,在Java应用程序设计中有着非常重要的作用,本文以实例形式对此加以简单分析,需要的朋友可以参考下
    2014-09-09
  • Google Guava 缓存工具使用详解

    Google Guava 缓存工具使用详解

    这篇文章主要介绍了Guava自加载缓存LoadingCache使用指南,通过这些内容介绍,了解了LoadingCache的基本原理和用法,包括如何创建和配置缓存,以及如何结合Java 8的特性来优化代码,需要的朋友可以参考下
    2023-12-12
  • Java利用多线程复制文件

    Java利用多线程复制文件

    这篇文章主要介绍了Java利用多线程复制文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • JVM详解之汇编角度理解本地变量的生命周期

    JVM详解之汇编角度理解本地变量的生命周期

    这篇文章主要介绍了JVM详解之汇编角度理解本地变量的生命周期,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Java使用Callable接口实现多线程的实例代码

    Java使用Callable接口实现多线程的实例代码

    这篇文章主要介绍了Java使用Callable接口实现多线程的实例代码,实现Callable和实现Runnable类似,但是功能更强大,具体表现在可以在任务结束后提供一个返回值,Runnable不行,call方法可以抛出异,Runnable的run方法不行,需要的朋友可以参考下
    2023-08-08
  • Java中final变量使用总结

    Java中final变量使用总结

    这篇文章主要介绍了Java中final变量使用总结,final关键字可用于变量声明,一旦该变量被设定,就不可以再改变该变量的值,通常final定义的变量为常量,需要的朋友可以参考下
    2015-06-06
  • Java实现矩形碰撞检测

    Java实现矩形碰撞检测

    这篇文章主要为大家详细介绍了Java实现矩形碰撞检测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Java实现显示指定类型的文件

    Java实现显示指定类型的文件

    这篇文章主要介绍了Java实现显示指定类型的文件,需要的朋友可以参考下
    2014-03-03
  • Java实现简易购物系统

    Java实现简易购物系统

    这篇文章主要为大家详细介绍了Java实现简易购物系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Java LocalDateTime获取时间信息、格式化、转换为数字时间戳代码示例

    Java LocalDateTime获取时间信息、格式化、转换为数字时间戳代码示例

    其实我们在Java项目中对日期进行格式化,主要是利用一些日期格式化类,下面这篇文章主要给大家介绍了关于Java LocalDateTime获取时间信息、格式化、转换为数字时间戳的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论