[javaSE] 反射-Class类的基本操作
2024-09-10 18:26:15
获取类的名称
获取该类的方法
获取方法的返回值类型
获取方法的名称
获取方法的参数的类型
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)
最新文章
- css清楚浮动的方法
- poj 1695
- Servlet学习四——传输文本
- 1.webService入门
- LIGHTSWITCH 连接 MYSQL,中文字符不能保存----解决方法。
- 【前台 ajax】web项目前台传递数组给后台 两种方式
- 转:RTMPDump源代码分析
- 怎么使用 Laravel 的服务容器来优化读写数据库中的 options关键词
- Windows Server 2012 四个版本对比
- ASP.NET MVC(一) 什么是Razor
- ecshop数据库操作类
- 《Programming WPF》翻译 第7章 4.转换
- Android Activity之 setContentView()总结
- TOJ 1139.Compromise
- 自己整理的openresty安装步骤
- C程序设计语言(第二版)--- 习题选
- timeline时间轴进度“群英荟萃”
- python之文件读写详解
- Linux记录-监控系统开发
- 谷歌技术";三宝";之BigTable