获取类的名称

获取该类的方法

获取方法的返回值类型

获取方法的名称

获取方法的参数的类型

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类的基本操作的更多相关文章

  1. [javaSE] 反射-Class类的使用

    JAVA-Reflect 专题 ①Class类的使用 ②方法的反射 ③成员变量的反射 ④构造函数的反射 ⑤java类的加载机制 Ⅰ在面向对象的世界里,万事万物皆为对象 类是对象,类是java.lang ...

  2. [javaSE] 反射-获取类的成员属性和构造方法

    成员属性和构造方法皆为对象,通过Class对象的方法可以得到 package com.tsh.reflect; import java.lang.reflect.Constructor; import ...

  3. 反射工具类——ReflectUtils

    测试方法:根据已知的方法名,来反射调用方法 package com.redmoon.forum.job; import java.util.ArrayList; import java.util.Li ...

  4. java反射工具类

    package com.yingchao.kgou.core; import java.lang.reflect.Field; import java.lang.reflect.InvocationT ...

  5. File类的基本操作之读出所有目录路径

    package org.mark.file; import java.io.File; /** * File类的基本操作之读出所有文件夹路径 * 假设给定一个文件夹,要求将此文件夹中的所有文件都列出来 ...

  6. c#通过反射获取类上的自定义特性

    c#通过反射获取类上的自定义特性 本文转载:http://www.cnblogs.com/jeffwongishandsome/archive/2009/11/18/1602825.html 下面这个 ...

  7. Java---类反射(1)---类反射入门和基础

    什么是类反射 ☆什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方 ...

  8. C#反射—解决类的实例化问题

    利用简单工厂模式来改进抽象工厂使用的复杂性(抽象工厂详见 设计模式之—抽象工厂模式) 数据表(User)业务处理接口(IUser) namespace FactoryMethodPatternDB.C ...

  9. C# 利用反射查看类的信息

    using System; using System.Collections; using System.Collections.Generic; using System.Reflection; u ...

随机推荐

  1. 使用(POI)SAX处理Excel文件,防止内存溢出

    POISAXReader h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-chi ...

  2. 转 - ubuntu apache2下目录结构

    ubuntu apache2下目录结构 原文:http://blog.csdn.net/jibcy/article/details/8060651 在Windows下,Apache的配置文件通常只有一 ...

  3. 查看Query Plan

    在执行一个查询语句时,查询优化器编译查询语句,产生一个足够好的Compiled Plan,将其缓存到plan cache中.Compiled plan是基于batch的,如果一个batch含有多个qu ...

  4. Design3:使用HierarchyID构建数据的分层结构

    1,传统的分层结构是父子结构,表结构中有一个ParentID字段自引用表的主键,表示“归属”关系,例如 create table dbo.emph ( ID int not null primary ...

  5. C#相关

    1.索引器 索引器允许类或结构的实例按照与数组相同的方式进行索引.索引器类似于属性,不同之处在于它们的访问器采用参数.它可以像数组那样对对象使用下标.它提供了通过索引方式方便地访问类的数据信息的方法. ...

  6. Web Workers 的基本信息

    问题:JavaScript 并行性 要将有趣的应用(例如从侧重服务器端的实施)移植到客户端 JavaScript,存在很多制约瓶颈.其中包括浏览器兼容性.静态类型.可访问性和性能.幸运的是,随着浏览器 ...

  7. 冒泡排序java代码

    冒泡排序就是依次取出最大数,然后依次交换放到数组最后边. 直观写法: public long[] sort(long[] a){ int n = a.length - 1; // Step:1 选出最 ...

  8. poj3422 Kaka's Matrix Travels(最小费用最大流问题)

    /* poj3422 Kaka's Matrix Travels 不知道 k次 dp做为什么不对??? 看了大牛的代码,才知道还可以这样做! 开始没有理解将a 和 a‘ 之间建立怎样的两条边,导致程序 ...

  9. java中异常注意的细节2

    class A extends Exception{ A(){ super(); } A(String msg){ super(msg); } } class B extends A{ B(){ su ...

  10. 写在MongoCola在Github上获得200个Star之后

    MongoCola MongoCola是一个开源的MongoDB管理工具. 由于最初版本的设计失误,所以现在只能在Windows上使用,虽然可以在OSX上使用,但是非常别扭. 契机 MongoCola ...