Java进阶(2) - 特殊对象(Class类)

2023-11-06

存在的意义
位于java.lang包下,和java.lang.reflect包下的类共同支持java反射功能
jvm在类加载时,在堆中为每个类生成一个Class对象,用于记录每个类的属性、方法等信息,
同时每个对象生成时都有特殊的标记位来指向堆中的Class对象。

获取的三种方式
1 、Class.forName("全路径名")
2 、类名.Class
3 、实例对象.getClass()

 常用方法列表
1、getName():返回String形式的该类的名称。
2、newInstance():根据某个Class对象产生其对应类的实例,它调用的是此类的默认构造方法(没有默认无参构造器会报错)
3、getClassLoader():返回该Class对象对应的类的类加载器。
4、getSuperClass():返回某子类所对应的直接父类所对应的Class对象
5、isArray():判定此Class对象所对应的是否是一个数组对象
6、getComponentType() :如果当前类表示一个数组,则返回表示该数组组件的 Class 对象,否则返回 null。 
7、 getConstructor(Class[]) :返回当前 Class 对象表示的类的指定的公有构造子对象。 
8、getConstructors() :返回当前 Class 对象表示的类的所有公有构造子对象数组。 
9、getDeclaredConstructor(Class[]) :返回当前 Class 对象表示的类的指定已说明的一个构造子对象。 
10、getDeclaredConstructors() :返回当前 Class 对象表示的类的所有已说明的构造子对象数组。 
11、getDeclaredField(String) :返回当前 Class 对象表示的类或接口的指定已说明的一个域对象。 
12、getDeclaredFields() :返回当前 Class 对象表示的类或接口的所有已说明的域对象数组。 
13、 getDeclaredMethod(String, Class[]) :返回当前 Class 对象表示的类或接口的指定已说明的一个方法对象。 
14、getDeclaredMethods() :返回 Class 对象表示的类或接口的所有已说明的方法数组。 
15、getField(String) :返回当前 Class 对象表示的类或接口的指定的公有成员域对象。 
16、getFields() :返回当前 Class 对象表示的类或接口的所有可访问的公有域对象数组。 
17、getInterfaces() :返回当前对象表示的类或接口实现的接口。 
18、getMethod(String, Class[]) :返回当前 Class 对象表示的类或接口的指定的公有成员方法对象。 
19、getMethods() :返回当前 Class 对象表示的类或接口的所有公有成员方法对象数组,包括已声明的和从父类继承的方法。 
20、isInstance(Object) :此方法是 Java 语言 instanceof 操作的动态等价方法。
21、isInterface() :判定指定的 Class 对象是否表示一个接口类型
22、isPrimitive() :判定指定的 Class 对象是否表示一个 Java 的基类型。
23、newInstance() :创建类的新实例

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java进阶(2) - 特殊对象(Class类) 的相关文章

  • 初始向量(IV)的CTR模式使用

    据我所知 CTR 模式不使用初始向量 它只需要一个计数器 用给定的密钥对其进行加密 然后将结果与明文进行异或以获得密文 其他分组密码模式 例如 CBC 在进行加密之前 会使用初始向量对明文进行异或 所以这是我的问题 我在 Java 中有以下
  • Java中如何动态添加charsequence[]中的数据?

    初始化的一种方法charsequence is charsequence item abc def 但我不想以这种方式初始化它 有人可以建议其他方式吗 比如我们初始化的方式string arrays 首先 修复变量声明 charsequen
  • JFreeChart - 创建移动图表时出现问题

    我在我的 java 应用程序中使用 JFreeChart Problem 我想绘制一个XY面积图 whose 域轴 x 轴 当我们开始绘制数据时应该自动水平滚动 我在中看到了同样的事情时间序列图表但我不想要任何时间系列图表 我只想要滚动的
  • 如何知道 glassfish 是什么 - 完整平台或网络配置文件?

    我已经安装了glassfish 我可以跑 asadmin version 它显示了它是什么版本 但如何知道它是 完整平台 还是 Web 配置文件 你可以使用 glassfish4 bin gt asadmin list containers
  • 在 Java Swing 元素中使用 HTML 样式是不好的做法吗?

    使用 HTML 设置 Swing 元素的样式被认为是不好的做法吗 举个例子 如果我想让标签变大并变红一次 我有两个选择 使用 API 调用 JLabel label new JLabel This is a title label setF
  • Spring Boot 多部分文件始终为 null

    我正在使用 Spring Boot version 1 4 0 RC1 和 Spring Boot Stormpath 1 0 2 我正在尝试使用分段文件上传 但控制器中的 MultipartFile 始终为空 当我使用 RequestPa
  • 在 JavaFX 中更改 ListView 字体大小

    我想知道如何更改 JavaFx 中的列表视图项目文本字体大小 每行文本的大小会有所不同 我尝试使用细胞因子属性 但我不知道如何使用它 有人可以帮我吗 类似的问题在这里 如何更改JavaFX中ListView的字体大小 https stack
  • 为什么java(>=7版本)不支持运行没有main方法的程序? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 class WithoutMain static System out println Without main class Sy
  • java:如何设置全局线程ID?

    是否有可能为线程设置唯一ID 在分布式系统中 线程是在许多不同的机器上创建的 例如通过 RMI 我需要它来创建日志消息 根据我的研究 我知道可以使用 log4j mdc ndc 来完成 但只能在单线程中完成 我的问题是 在创建线程时必须设置
  • 如何发现另一个应用程序的意图

    我正在尝试构建一个应用程序来接收来自 StumbleUpon 应用程序的共享 此时 我可以接收浏览器的 共享网址 但是当从 StumbleUpon 共享时 我的应用程序不会显示在列表中 我想我可能没有在清单中注册正确的意图 有什么方法可以找
  • Java 空值检查

    我有一个thread1 if object null object play 和另一个thread2可以写null into object随时参考 我将同时运行这些线程 我知道thread2可以重写object后参考null检查并会抛出Nu
  • 将字符串转换为字符并按降序排序(ascii)

    我正在创建一个程序 该程序将使用户输入整数 一个接一个 存储在数组中并按降序显示整数 该程序还要求用户输入一个字符串 使用以下命令将其转换为字符string toCharArray 我已经正确地按降序显示整数 问题是我不知道如何按降序显示字
  • 当通过 Map.put(K, V) 添加值时,是否必须通过 Map.get(K) 返回相同的实例?

    假设您有以下代码 Map
  • 找出该月第一个星期日/星期一等的日期

    我想在java中检测每个月第一周 第二周的第一个星期日 星期一的日期 我怎样才能实现它 我已经检查了 java 中的 Calendar 类和 Date 类 但无法找到解决方案 所以请帮助我解决这个问题 Calendar calendar C
  • 从数字列表中生成所有唯一对,n 选择 2

    我有一个元素列表 假设是整数 我需要进行所有可能的两对比较 我的方法是 O n 2 我想知道是否有更快的方法 这是我在java中的实现 public class Pair public int x y public Pair int x i
  • 如何从 jenkins 的现有项目生成 .hpi 插件

    我正在尝试使用 jenkins 的性能插件 但最新版本存在一些问题 如链接中所述 https issues jenkins ci org browse JENKINS 27100 https issues jenkins ci org br
  • Java 应用程序启动,ProcessBuilder 一段时间后被阻止

    我正在开发一个 Java 桌面应用程序 我们称之为控制台 包含 3 个按钮 其中两个启动 Win32 应用程序 第三个应该启动一个可执行的 jar ProcessBuilder pb new ProcessBuilder java jar
  • 在java中打印阿拉伯字符串

    我试图在 java 中显示阿拉伯语文本 但它显示垃圾字符 示例 或有时在我打印时仅显示问号 我如何才能打印阿拉伯语 我听说它与unicode和UTF 8有关 这是我第一次使用语言 所以不知道 我正在使用 Eclipse Indigo IDE
  • 将 JSON 发送到 Spring MVC 控制器

    我正在尝试将 JSON 发送到 Spring MVC 控制器 在 Spring MVC 方面 一切都配置正确 下面是代码 但似乎没有运行
  • 在没有 ODBC 的情况下从 Java 操作 Access 数据库

    我想从我的 Java 项目操作 Microsoft Access 数据库 accdb 或 mdb 文件 我不想使用 Microsoft 的 JDBC ODBC Bridge 和 Access ODBC 驱动程序 因为 JDBC ODBC 桥

随机推荐

  • Crypto-JS DES加密解密出现的错误

    这几天公司给了一个项目 说为了用户安全性 需要加密 我在网上找了一些加密 发现Crypto JS 挺好的用的 我就用了Crypto JS DES加密 期间出现一些错误 发现这些错误都在我引入的Crypto JS文件里面 刚开始以为文件引入错
  • snpintf()函数会自动添加\0, strncpy()函数不会自动增加\0

    近段时间 在写程序中多次用到snprintf 函数 对于snprintf 函数是否会自动添加 0不能肯定 今天自己就写了一个测试程序进行验证 int len snprintf buf sizeof buf s str 1 当len 的长度小
  • 内核角度谈谈Linux进程和线程

    目录 前言 内核对进程和线程的表示 创建进程的过程 创建线程的过程 创建进程和线程的异同 揭秘 do fork 系统调用 结论 前言 昨天面试的时候 面试官问我了个平平淡淡的问题 gt 聊聊Linux中进程和线程 相比大家不管是在考试还是面
  • OpenWrt系统安全改进<五> --- Web 访问权限分级

    摘要 OpenWrt系统安全改进 lt 四 gt 中介绍的只是在UI层面对用户进行访问控制 对于深层次非法操作并不能起到保护效果 本节介绍针对不同的用户登录请求 使用不同用户启动luci进程 从而实现不同用户进行操作级别的访问控制 机制分析
  • git push -u origin master提示 fatal: repository 'https://gitlab.com/xx.git/' not found

    正解 1 git remote set url origin https gitlab用户名 gitlab com xx demo git 2 git push u origin master 会提示输入密码 输入入正确的gitlab密码即
  • Error tokenizing data. C error: Buffer overflow caught - possible malformed input file.

    data self reader read nrows File pandas libs parsers pyx line 796 in pandas libs parsers TextReader read File pandas lib
  • dl_iterate_phdr

    http www helplib net s linux die 65 1099 man 3 dl iterate phdr shtml http linux die net man 3 dl iterate phdr dl iterate
  • 跨域错误问题has been blocked by cors policy

    这个问题其实是一个跨域调用错误 有多种解决方法 我放到服务器上所以在服务器上的apache的配置文件中修改 一开始以为apache的配置文件是httpd conf 然后发现我压根没有这个文件 在 etc apache2 apache2 co
  • 单手杀穿经典链表题Pt.1——LeetCode天梯渡劫(移除节点,反转链表,中间节点)

    目录 传统艺能 移除链表元素 反转链表 链表的中间结点 传统艺能 小编是双非本科大一菜鸟不赘述 欢迎大佬指点江山 QQ 1319365055 此前博客点我 点我 请搜索博主 知晓天空之蓝 乔乔的gitee代码库 打灰人 欢迎访问 点我 非科
  • 终端配色-Docker容器终端

    20230309 0 引言 平时使用SSH 通常都是使用securecrt来用 毕竟也算是之前windows下一种使用的工具 在mac下使用还算方便 进入终端后 可以通过调整配色来调整编程环境 平时经常使用屎黄色的那种配色 毕竟柔和 偶尔使
  • 计算机的快速启动栏,电脑快速启动栏不见了

    文章目录导航 演示系统及适用范围 演示系统 XP专业版 Windows2003企业版 WIN7旗舰版 适用范围 XP各版本 WIN2003 WIN2008及WIN7各版本系统 xp找回快速启动栏方法 不管是XP或是Winserver2003
  • conda修改环境保存地址

    可以在命令行中通过conda config指令进行修改 如 添加环境目录envs dirs conda config add envs dirs F conda env envs 添加pkgs dirs conda config add p
  • MVC模式、MVVM模式及其区别

    文章目录 MVC模式 MVVM模式 MVVM优点 MVC与MVVM的区别 MVC模式 MVC是应用最广泛的软件架构之一 一般MVC分为 Model 模型 View 视图 Controller 控制器 这主要是基于分层的目的 让彼此的职责分开
  • BUUCTF刷题记录(6)

    文章目录 web FBCTF2019 RCEService GYCTF2020 FlaskApp CISCN2019 华北赛区 Day1 Web5 CyberPunk BSidesCF 2019 Futurella CISCN2019 华东
  • 【STM32技巧】ADC模拟量采集的几种用法

    1 AD单次转换 软件启动 通过程序启动AD AD采集一次 我们就去读一次 这种情况 建议开启AD转换完成中断 在中断中读出AD值并做处理 初始化的时候 启动一次 然后在主循环里 每隔一秒启动一次 在中断回调函数里 进行相关处理 电脑输出如
  • python实现交换排序

    排序算法 python实现基数排序 python实现归并排序 python实现交换排序 python实现选择排序 python实现插入排序 冒泡排序 基本思想 假设待排序表长为n 从后往前或者从前往后两两比较相邻元素的值 若为逆序则交换它们
  • fatal: Authentication failed for又不弹出用户名和密码 解决办法

    各位 如果能弹出来 一定是你账号密码搞错了 就别继续看了 image png 切换命令行 image png 依然报错 说到这个问题 又可以长篇大论了 我使用的是tortoisegit window电脑平常都是用ppk文件组合 netrc文
  • 51单片机---IE寄存器,TCON寄存器,TMOD寄存器

    寄存器IE 中断允许寄存器IE的作用 是控制所有中断源的开放或禁止 以及每个中断源是否被允许 寄存器IE的位格式如下 EX0 外部中断0允许位 EX0 1 允许外部中断0中断 EX0 0 禁止外部中断0中断 ET0 T0溢出中断允许位 ET
  • KNN学习之图像分类与KNN原理

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 简介 KNN算法 即K近邻算法是一种监督学习算法 本质上是要在给定的训练样本中找到与某一个测试样本A最近的K个实例 然后统计k个实例中所属类别计数最多的那个类 就是A的类
  • Java进阶(2) - 特殊对象(Class类)

    存在的意义位于java lang包下 和java lang reflect包下的类共同支持java反射功能jvm在类加载时 在堆中为每个类生成一个Class对象 用于记录每个类的属性 方法等信息 同时每个对象生成时都有特殊的标记位来指向堆中