如何在java方法中获得当前方法的名称

Python011

如何在java方法中获得当前方法的名称,第1张

在java方法中获得当前方法的名称方法:

一、获得当前类名:

Java代码

this.getClass().getName()

二、获得当前方法名臣:

JDK1.4

Java代码

new   Exception().getStackTrace()[i].getMethodName()//其中i   =   0就是当前的类的方法名字 i   ==   1就是调用者的方法

JDK1.5之后可用

Java代码

Thread.currentThread().getStackTrace()[1].getMethodName()//具体使用数组的那个元素和JVM的实现有关,我在SUN JDK6下面测试的是第二个元素,具体说明可以查看Thread.getStackTrace方法的javadoc

这个一般在内部类里面用。。类名.this表示 那个类名所代表的类的对象。。。

比如class A {

public void method(){

A.this就是表示A的对象。。在这种情况下和this是一样的

}

class B {

void method1() {

A.this还是表示A的对象。。但是这里是在内部类里面。。所以这里的this就是内部类B的对象了。。但是我们经常会在内部类里面调用外部的东西。。所以就用A.this这种方式就行了

}

}

}

类名.方法名

就是对某个类的方法就行调用,一般格式如:classA.funB()

类名.对象名

就是对某个类中的某个对象(字段)进行访问或者赋值,比如对classB中的String类型 的s进行赋值:classB.s="Hello123"

这里举例子为了方便,就说个String类型,因为Java的String是对象。