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

作者:17十七 时间:2021-11-09 17:12:57 

前言

本文主要给大家介绍的是关于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{

}

来源:http://www.cnblogs.com/17shiqi/p/7442358.html

标签:java,class类,class对象
0
投稿

猜你喜欢

  • Spring Cache抽象-使用SpEL表达式解析

    2023-08-23 11:46:44
  • Android用过TextView实现跑马灯效果的示例

    2023-07-27 11:16:54
  • SpringBoot打jar包遇到的xml文件丢失的解决方案

    2023-04-11 23:39:06
  • Android基于SoftReference缓存图片的方法

    2023-07-13 00:53:21
  • Springboot项目全局异常统一处理案例代码

    2021-08-26 10:51:19
  • Java SpringMVC框架开发之数据导出Excel文件格式实例详解

    2023-11-10 21:11:18
  • 浅谈@RequestMapping注解的注意点

    2023-07-11 02:12:39
  • 序列化版本号serialVersionUID的作用_动力节点Java学院整理

    2022-08-14 06:39:02
  • 如何查找YUM安装的JAVA_HOME环境变量详解

    2023-04-01 11:48:22
  • Java面试题冲刺第二十四天--并发编程

    2023-08-31 05:39:02
  • 一文带你了解C#中抽象方法与虚方法的区别

    2023-07-23 00:14:32
  • ShardingSphere jdbc集成多数据源的实现步骤

    2023-11-25 07:54:56
  • 基于JavaMail的Java邮件发送

    2022-10-30 18:56:56
  • Mybatis工具类JdbcTypeInterceptor运行时自动添加jdbcType属性

    2023-08-24 03:49:59
  • 一看就懂的Android APP开发入门教程

    2023-07-18 04:10:41
  • Java实现插入公式到PPT的示例代码

    2023-11-12 03:04:41
  • Java String类简单用法实战示例【字符串输出、比较】

    2021-09-22 11:59:51
  • java实现大文件分割与合并的实例代码

    2023-11-11 04:31:21
  • java数字转汉字工具类详解

    2023-04-28 02:00:26
  • 使用纯Java实现一个WebSSH项目的示例代码

    2023-03-11 11:32:20
  • asp之家 软件编程 m.aspxhome.com