Class类对象获取类的信息 1.成员方法信息

基本类型的 类类型

Class c1 = int.class; int的类类型
Class c2 = String.class; String类的类类型 String类字节码

Class c3 = double.class;double这个数据类类型的字节码表示方式

Class c4 = Double.class; Double这个类的类类型字节码表示方式

Class c5 = void.class; 表达了void这个类的类类型

类类型对象的的方法getName

getName为这个类的类类型的具体名称

c1.getName() ---> int
c2.getName() ---> java.lang.String 类的全称
c2.getSimpleName() ---> String 不包含包名的类的名称

获取类的全部信息

类的信息有哪些呢 ?

1. 类的全称,名称(包名+类名)

com.oneboi.Student

2. 获得成员方法 (返回值,名称,参数)

Method 类 
*  一个成员方法就是一个Method对象
* getMethods()方法获取的是所有的public的函数,包括父类继承而来的
* getDeclaredMethods()获取的是所有该类自己声明的方法,不问访问权限(继承的就没有了)
1. 方法的返回值类型
2. 方法的名称
3.方法的参数的类型

Class类 和Method类

Class c = obj.getClass();

获得Method类型对象 


import java.lang.reflect.Method;

Method[] m = c.getMethods(); 
import java.lang.reflect.Method;

public class Test {

    public static void main(String[] args) {
        
        Class c=String.class;
        System.out.println("c.getName():"+c.getName());
        System.out.println("----");
        
        Method[] m = c.getMethods();
        
        //遍历成员方法对象
        for(int i =0;i<m.length;i++)
        {
            //获得返回值类型对象
            Class returntype = m[i].getReturnType();
            System.out.println("方法的返回值类型 "+returntype.getName());
            System.out.print("方法的名称  "+m[i].getName()+"\n");
            
            //获取方法的参数类型-->得到的是参数列表的类型的类类型
            Class[] paramstype = m[i].getParameterTypes();
            
            for (Class class1 : paramstype) {
                System.out.print("参数:"+class1.getName()+",");
            }
            
            System.out.println(" \n ....");
            
            
            
        }
        
    }
}

转载于:https://my.oschina.net/2016jyh/blog/1787630

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值