[javaSE] 反射-Class类的基本操作
获取类的名称
获取该类的方法
获取方法的返回值类型
获取方法的名称
获取方法的参数的类型
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)
[javaSE] 反射-Class类的基本操作的更多相关文章
- [javaSE] 反射-Class类的使用
JAVA-Reflect 专题 ①Class类的使用 ②方法的反射 ③成员变量的反射 ④构造函数的反射 ⑤java类的加载机制 Ⅰ在面向对象的世界里,万事万物皆为对象 类是对象,类是java.lang ...
- [javaSE] 反射-获取类的成员属性和构造方法
成员属性和构造方法皆为对象,通过Class对象的方法可以得到 package com.tsh.reflect; import java.lang.reflect.Constructor; import ...
- 反射工具类——ReflectUtils
测试方法:根据已知的方法名,来反射调用方法 package com.redmoon.forum.job; import java.util.ArrayList; import java.util.Li ...
- java反射工具类
package com.yingchao.kgou.core; import java.lang.reflect.Field; import java.lang.reflect.InvocationT ...
- File类的基本操作之读出所有目录路径
package org.mark.file; import java.io.File; /** * File类的基本操作之读出所有文件夹路径 * 假设给定一个文件夹,要求将此文件夹中的所有文件都列出来 ...
- c#通过反射获取类上的自定义特性
c#通过反射获取类上的自定义特性 本文转载:http://www.cnblogs.com/jeffwongishandsome/archive/2009/11/18/1602825.html 下面这个 ...
- Java---类反射(1)---类反射入门和基础
什么是类反射 ☆什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方 ...
- C#反射—解决类的实例化问题
利用简单工厂模式来改进抽象工厂使用的复杂性(抽象工厂详见 设计模式之—抽象工厂模式) 数据表(User)业务处理接口(IUser) namespace FactoryMethodPatternDB.C ...
- C# 利用反射查看类的信息
using System; using System.Collections; using System.Collections.Generic; using System.Reflection; u ...
随机推荐
- 新特性AAtitti css3 新特性attilax总结titti css
Atitti css3 新特性attilax总结 图片发光效果2 透明渐变效果2 文字描边2 背景拉伸2 CSS3 选择器(Selector)4 @Font-face 特性7 Word-wrap &a ...
- 【管理心得之三十二】PMP杂谈---------爱情必胜术
这次一反常态,没有场景设计,我想借此文普及一下PMP是什么? 但我不知道这样枯燥的话题能否能引起你的兴趣,我不得不套用“标题党”<爱情必胜术>来博你眼球. 我真没有说谎,此文是献给那些孤身 ...
- Asp.net WebApi 项目示例(增删改查)
1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...
- DateUtil
//有些地方需要修改 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDate ...
- silverlight MouseLeftButtonDown事件总是无法触发
参考解决办法:http://www.cnblogs.com/tianguook/archive/2011/05/13/2045299.html 在构造函数中首先添加一个事件: public BtnLi ...
- 最先进的开源游戏引擎KlayGE 4.3发布
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2536 经过KlayGE团队半年来的努力,今天KlayGE 4.3正式发布了!在这个版本的开发 ...
- Android入门(二十)HttpURLConnection与HttpClient
原文链接:http://www.orlion.ga/679/ 在 Android上发送 HTTP请求的方式一般有两种,HttpURLConnection和 HttpClient. 一.HttpURLC ...
- js实现打开本地文件或文件夹
原网址:http://blog.csdn.net/cofesun/article/details/7904887javascript有个特殊的对象ActiveXObject,通过它可以访问window ...
- js实现图片加载特效(从左到右,百叶窗,从中间到两边)
/* 网上百度的,感觉”从中间到两边“的效果写的不是很好,改了一下,感觉可以了!*/<html> <head> <title></title> < ...
- LeetCode:Maximum Depth of Binary Tree_104
LeetCode:Maximum Depth of Binary Tree [问题再现] Given a binary tree, find its maximum depth. The maximu ...