class类之获取任何类当中的方法信息的方法

Java程序在编译时将会进行静态类的加载,而在运行时才进行动态类的加载。

一般大多数关键字也都有类类型

以下程序是用于实现获取所接收的类当中的方法信息,并对其进行输出操作

package 反射机制;
import java.lang.reflect.*;
public class ClassUtil {
//打印类的信息包括类的成员函数和类的成员变量
	public static void printClassMessage(Object obj)
	{
//	首先要获取类的类型
		Class c=obj.getClass();//实例化class类的实例化对象,传入的参数属于哪个类,则实例化的就是该类的类类型
		System.out.println("获取类的名称:"+c.getName());//	获取类的名称
		//在Java当中万事万物都对象,所以一个类当中的方法也是对象,任何方法都是method类的实例化对象
		Method[] ms=c.getMethods();//获取类类型当中的方法并将之分装为一个实例化的method对象,method方法将获取类类型当中的所有的public类型
//     的方法包括从父类当中继承过来的方法	
//		c.GetDeclardMethod()方法所获取的是该类自己声明的所有的方法
		System.out.println("获取方法的名称:");
		for(int i=0;i<ms.length;i++)
		{
			Class returnType=ms[i].getReturnType();//的到方法的类类型
			System.out.print(returnType.getName());//对所的到的类类型的名称进行输出操作
			System.out.print(ms[i].getName()+"(");
			Class[] paramTypes=ms[i].getParameterTypes();//的到方法所接收到的参数的类类型
			for(int j=0;j<paramTypes.length;j++)
			{//对存放方法参数类类型的数组进行遍历输出
				System.out.print(paramTypes[j].getName()+",");
			}
			System.out.println(");");
		}
		
	}
}
package 反射机制;

public class ClassDemo03 {

	public static void main(String[] args) {
		String str="HelloWorld";
		ClassUtil.printClassMessage(str);//调用ClassUtil类当中的静态方法来对所接收的类当中的数据信息进行输出操作
		System.out.println("获取Integer类当中的方法:");
		ClassUtil.printClassMessage(Integer.class);//用于获取integer类当中的方法
	}

}
程序运行结果:


如图所示程序将接收到的String对象和Integer对象当中的所有的public方法进行输出操作

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值