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对象
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
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
![](https://img.aspxhome.com/file/2023/4/66174_0s.png)
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
![](https://img.aspxhome.com/file/2023/7/58447_0s.png)
一文带你了解C#中抽象方法与虚方法的区别
2023-07-23 00:14:32
ShardingSphere jdbc集成多数据源的实现步骤
2023-11-25 07:54:56
![](https://img.aspxhome.com/file/2023/6/59766_0s.png)
基于JavaMail的Java邮件发送
2022-10-30 18:56:56
![](https://img.aspxhome.com/file/2023/1/60931_0s.jpg)
Mybatis工具类JdbcTypeInterceptor运行时自动添加jdbcType属性
2023-08-24 03:49:59
一看就懂的Android APP开发入门教程
2023-07-18 04:10:41
![](https://img.aspxhome.com/file/2023/5/82405_0s.jpg)
Java实现插入公式到PPT的示例代码
2023-11-12 03:04:41
![](https://img.aspxhome.com/file/2023/6/61616_0s.png)
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
![](https://img.aspxhome.com/file/2023/8/64148_0s.png)