JAVA反射获取类名,方法名,属性及构造方法

2024-04-23 01:18

本文主要是介绍JAVA反射获取类名,方法名,属性及构造方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//定义了个类,随便写了些属性,方法和构造方法
class ReflectTest {private String title;private int num;public String content;protected double income;public ReflectTest() {}private ReflectTest(String title, int num, double income) {this.title = title;this.num = num;this.income = income;}public ReflectTest(String title, int num) {this.title = title;this.num = num;}private void getSomeThing() {}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}public double getIncome() {return income;}public void setIncome(double income) {this.income = income;}}

测试类

** * @description:* @author ldm* @date 2016-2-19 下午5:24:27* java中修饰符编号 :* PUBLIC: 1   PRIVATE: 2   PROTECTED: 4    STATIC: 8   FINAL: 16* SYNCHRONIZED: 32   VOLATILE: 64   TRANSIENT: 128  NATIVE: 256* INTERFACE: 512   ABSTRACT: 1024   STRICT: 2048*/
public class Test {@SuppressWarnings("rawtypes")public static void main(String[] args) {try {Class clazz = Class.forName("reflect.ReflectTest");System.out.println("------获取类名-----------");System.out.println(clazz.toString());// 获取类的完整名System.out.println(clazz.getSimpleName());// 获取类名System.out.println("------获取类中的构造方法-----------");// 获得所有构造方法Constructor[] cons = clazz.getDeclaredConstructors();for (int i = 0; i < cons.length; i++) {System.out.println("所有构造方法之" + cons[i].getName());// 方法修饰符System.out.println("修饰符类型:" + cons[i].getModifiers());}// 获得所有公共构造方法Constructor[] cons1 = clazz.getConstructors();for (int i = 0; i < cons1.length; i++) {System.out.println("公共构造方法之" + cons1[i].getName() + "--");System.out.println("修饰符类型:" + cons1[i].getModifiers());}System.out.println("-----获取类中定义的方法------------");Method[] mths = clazz.getDeclaredMethods();for (int i = 0; i < mths.length; i++) {System.out.println("所有方法之" + mths[i].getName());System.out.println("修饰符类型:" + mths[i].getModifiers());}Method[] mths1 = clazz.getMethods();for (int i = 0; i < mths1.length; i++) {System.out.println("公有方法之" + mths1[i].getName());System.out.println("修饰符类型:" + mths1[i].getModifiers());}System.out.println("-------获取所有的属性------------");Field[] fls = clazz.getFields();for (int i = 0; i < fls.length; i++) {System.out.println("公有属性之" + fls[i].getName());System.out.println("修饰符类型:" + fls[i].getModifiers());}Field[] fls1 = clazz.getDeclaredFields();for (int i = 0; i < fls1.length; i++) {System.out.println("所有属性之" + fls1[i].getName());System.out.println("修饰符类型:" + fls1[i].getModifiers());}}catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

这篇关于JAVA反射获取类名,方法名,属性及构造方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/927390

相关文章

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

Spring AI使用tool Calling和MCP的示例详解

《SpringAI使用toolCalling和MCP的示例详解》SpringAI1.0.0.M6引入ToolCalling与MCP协议,提升AI与工具交互的扩展性与标准化,支持信息检索、行动执行等... 目录深入探索 Spring AI聊天接口示例Function CallingMCPSTDIOSSE结束语

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2