Java 如何获取一个 class 的所有属性和方法

👆🏻👆🏻👆🏻关注博主,让你的代码变得更加优雅。

前言

Hutool 是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以"甜甜的"。

官网:https://www.hutool.cn/

推荐说明

Java的反射机制,可以让语言变得更加灵活,对对象的操作也更加"动态",因此在某些情况下,反射可以做到事半功倍的效果。Hutool针对Java的反射机制做了工具化封装,封装包括:

  1. 获取构造方法
  2. 获取字段
  3. 获取字段值
  4. 获取方法
  5. 执行方法(对象方法和静态方法)

最佳实践

引入pom

xml 复制代码
<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <!-- 请查看最新版本 https://mvnrepository.com/artifact/cn.hutool/hutool-all -->
    <version>5.8.26</version>
</dependency>

使用

获取某个类的所有方法

java 复制代码
Method[] methods = ReflectUtil.getMethods(ExamInfoDict.class);

获取某个类的指定方法

java 复制代码
Method method = ReflectUtil.getMethod(ExamInfoDict.class, "getId");

构造对象

java 复制代码
ReflectUtil.newInstance(ExamInfoDict.class);

执行方法

java 复制代码
class TestClass {
    private int a;

    public int getA() {
        return a;
    }

    public void setA(int a) {
        this.a = a;
    }
}
java 复制代码
TestClass testClass = new TestClass();
ReflectUtil.invoke(testClass, "setA", 10);

写在最后

给大家推荐一个非常完整的Java项目搭建的最佳实践,也是本文的源码出处,由大厂程序员&EasyExcel作者维护。

github地址:https://github.com/zhuangjiaju/easytools

gitee地址:https://gitee.com/zhuangjiaju/easytools

相关推荐
编程彩机37 分钟前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
青岑CTF40 分钟前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php
Li emily41 分钟前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股
小酒窝.1 小时前
【多线程】多线程打印1~100
java·多线程
君爱学习1 小时前
基于SpringBoot的选课调查系统
java
APIshop1 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库
血小板要健康1 小时前
Java基础常见面试题复习合集1
java·开发语言·经验分享·笔记·面试·学习方法
淼淼7632 小时前
安装jdk1.8
java·开发语言
PfCoder2 小时前
WinForm真入门(23)---PictureBox 控件详细用法
开发语言·windows·c#·winform
Legendary_0082 小时前
Type-C 一拖二快充线:突破单口限制的技术逻辑
c语言·开发语言