[javaSE] 反射-Class类的基本操作
2023-02-18 15:46:57 时间
获取类的名称
获取该类的方法
获取方法的返回值类型
获取方法的名称
获取方法的参数的类型
package com.tsh.reflect; import java.lang.reflect.Method; public class ReflectDemo { public static void main(String[] args) { //int的类类型 Class c1=int.class; //String的类类型,String的字节码 Class c2=String.class; Class c3=double.class; Class c4=void.class; System.out.println(c1.getName());//输出 int System.out.println(c2.getName());//输出 java.lang.String ReflectDemo reflectDemo=new ReflectDemo(); printClass(reflectDemo); } /** * 打印类的信息 * @param obj */ public static void printClass(Object obj){ Class c=obj.getClass(); System.out.println("类的名称:"+c.getName()); //获取该类的方法获取该类的public的方法 Method[] methods=c.getMethods(); for(Method method: methods){ //获取返回值类型 Class returnTypeClass=method.getReturnType(); String returnType=returnTypeClass.getSimpleName(); //获取方法的名称 String methodName=method.getName(); //获取参数的类型 Class[] paramClass=method.getParameterTypes(); String params=new String(); int i=0; for(Class param:paramClass){ if(i!=0){ params+=","+param.getSimpleName(); }else{ params+=param.getSimpleName(); } i++; } System.out.println(returnType+" "+methodName+"("+params+")"); } } }
返回结果
类的名称:com.tsh.reflect.ReflectDemo void main(String[]) void printClass(Object) void wait(long,int) void wait(long) void wait() boolean equals(Object)
相关文章
- 实现服务器和客户端数据交互,Java Socket有妙招
- 世界杯专题看板丨今晚8点开战,数据先睹为快!
- Crack App | 某合伙人登录参数 apisign 逻辑分析
- Crack App | 某都市魔幻 FM 请求参数 sign 的加密分析
- Crack App | 某赢+ 二手车 App 登录参数加密逻辑分析
- RocketMQ: 技术架构与启动流程
- 目前社区关于ServiceMesh的主要方向
- k8s的架构是怎么变成现在这个样子
- Envoy的lib库拓扑关系
- 转发“Istio共享代理新模式Ambient Mesh”
- 如何设计属于你自己的秒杀系统?
- 如何把Java代码玩出花?JVM Sandbox入门教程与原理浅谈
- 删错了文件怎么办,文件快速恢复
- ChatGPT 浏览器插件实现思路解析
- 存储系统中的算法:LSM 树设计原理
- 说透游戏中常用的两种随机算法
- 我用消息队列做了一款联机小游戏
- 用算法打败算法
- CRUD 一年多,我的破局思路
- 如何学习开源项目,我又总结了套路