前言

本文主要给大家介绍的是关于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中通过Class类获取Class对象的方法详解相关推荐

  1. java equals重写原则_java中为何重写equals时必须重写hashCode方法详解

    前言 大家都知道,equals和hashcode是java.lang.Object类的两个重要的方法,在实际应用中常常需要重写这两个方法,但至于为什么重写这两个方法很多人都搞不明白. 在上一篇博文Ja ...

  2. java json解析 代码_Java构造和解析Json数据的两种方法详解一

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...

  3. java增强for循环_Java中增强for循环的实现原理和坑详解

    前言 引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需要先获得数组的长度或集合的迭代器,比较麻烦. JDK5中定义了一种新的语法----增强for循环,以简化此类操作.增强 ...

  4. java getbean方法_java相关:spring中通过ApplicationContext getBean获取注入对象的方法实例...

    java相关:spring中通过ApplicationContext getBean获取注入对象的方法实例 发布于 2020-12-19| 复制链接 分享一篇关于关于spring中通过Applicat ...

  5. python反向缩进_在Pycharm中对代码进行注释和缩进的方法详解

    在Pycharm中对代码进行注释和缩进的方法详解 一.注释 1. #单行注释 2. """ 多行注释 """ 3. pycharm多行注释快 ...

  6. python二维元组_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)

    如何去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  7. python可以使用二维元组吗_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)...

    怎么去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  8. python元组读取到列表_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)...

    如何去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  9. python 读取图片转换为一维向量_对Python中一维向量和一维向量转置相乘的方法详解...

    对Python中一维向量和一维向量转置相乘的方法详解 在Python中有时会碰到需要一个一维列向量(n*1)与另一个一维列向量(n*1)的转置(1*n)相乘,得到一个n*n的矩阵的情况.但是在pyth ...

最新文章

  1. php imagecopy 用法,php使用imagecopymerge()函数创建半透明水印
  2. Keras中神经网络可视化模块keras.utils.vis_util 的安装
  3. unlegal android,cordova-plugin-baidumaplocation百度地图定位Cordova插件
  4. C# 数值和字符串之间的相互转换
  5. UML之用例图(use case)箭头方向
  6. linux中的进程权限是,Linux中权限,进程,服务的简单操作
  7. azure mysql on vnet_管理 VNet 终结点 - Azure 门户 - Azure Database for MySQL | Microsoft Docs
  8. 字符编码原理 ASCII,Unicode和UTF-8 - - ITeye技术网站
  9. 完全搞定iframe(框架)里的滚动条
  10. android sdk根目录,Android SDK位置
  11. 极化码信道极化-构造-编码-译码(不断更新)
  12. jQuery-点击按钮插入视频
  13. 抖音旋转很炫的html,火爆抖音的旋转时钟屏保,超酷超炫的
  14. Keras入门级MNIST手写数字识别超级详细教程
  15. 云原生2.0时代,保险企业为何要迎智而上?
  16. 本人初中生 历时5个月时间 我自己研制的基于Windows的操作系统终于开发完成
  17. (C++)实现简单分数相加
  18. 【水题】hzy 和zsl 的生存挑战
  19. Flink中的CEP(二)
  20. 【VRP问题】基于模拟退火求解CVRP问题

热门文章

  1. 带你读论文丨异常检测算法及发展趋势分析
  2. 基于深度神经网络的噪声标签学习
  3. 科技抗疫,少年可期,为这群有AI的天使开发者疯狂打call
  4. 野生前端的数据结构基础练习(7)——二叉树
  5. 野生前端的数据结构基础练习(4)——字典
  6. 【华为大咖分享】3.如何做Code Review 与 结对编程?
  7. java mysql 常见框架_Java岗面试重点:Java+JVM+MySQL+框架+算法,金九银十涨薪全靠它...
  8. 图片夹_电竞游戏鼠标好伴侣,鼠标线夹,让你桌面不凌乱
  9. 2021-08-20 python安装及作图
  10. Excel中快速调整行高或列宽为适合内容显示的长度