初学java,从c++中转过来。在某行代码执行的时候,想知道该行代码所在的类的名字和方法的名字。那位大虾知道如何?
我目前知道在获得一个异常的时候,异常的对象 e 可以用printstacktrace 方法打出堆栈中的对象名和方法名,自然可以得到当前的类名和方法名.在正常情况下呢?

解决方案 »

  1.   

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

  2.   

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

  3.   

    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("类名:"+className+"");
    System.out.println("属性:");
    for(int i=0;i<fields.length;i++)
    {
    System.out.println(fields[i]);
    }
    System.out.println("方法:");
    for (int i = 0; i < methods.length; i++)
    {
    System.out.println(methods[i]);
    }
    }}