站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题[说难不难的问题]:__FUNCTION__是c++中表示当前函数名的宏,java中又如何 获取当前类和方法 ?

[说难不难的问题]:__FUNCTION__是c++中表示当前函数名的宏,java中又如何 获取当前类和方法 ?

摘要: [说难不难的问题]:__FUNCTION__是c++中表示当前函数名的宏,java中又如何 获取当前类和方法 ?


初学java,从c++中转过来。

在某行代码执行的时候,想知道该行代码所在的类的名字和方法的名字。那位大虾知道如何?


我目前知道在获得一个异常的时候,异常的对象 e 可以用printstacktrace 方法打出堆栈中的对象名和方法名,自然可以得到当前的类名和方法名.在正常情况下呢?





利用java的反射机制


System.out.println(new Throwable().getStackTrace()[0]);


看反射API


System.out.println(new Throwable().getStackTrace()[0]);


package shuffle;

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;

public class T7
{

/**
* @param args
*/
public static void main(String[] args)
{
ArrayList list=new ArrayList();
Class cls=list.getClass();
String className=cls.getName();
Field[] fields=cls.getDeclaredFields();
Method[] methods=cls.getMethods();
System.out.println(-#34;类名:-#34;+className+-#34;-#34;);
System.out.println(-#34;属性:-#34;);
for(int i=0;i-#60;fields.length;i++)
{
System.out.println(fields[i]);
}
System.out.println(-#34;方法:-#34;);
for (int i = 0; i -#60; methods.length; i++)
{
System.out.println(methods[i]);
}
}

}



反射


↑返回目录
前一篇: 刚入门者的上机题,在异常方面有些问题,请大家指教
后一篇: 菜鸟程序问题,在线结贴!