public class MyClass
{
public static void main(String[] args)
{
System.out.println(getStaticClass().getName());
System.out.println(getStaticClassName());
}
/**
* 利用匿名類在靜態方法中獲取當前類,彌補靜態方法中不能用this.getClass()的不足
*/
private static final Class getStaticClass<span style="font-family: Arial, Helvetica, sans-serif;">() {</span>
return new Object() {
public Class <span style="font-family: Arial, Helvetica, sans-serif;"></span>getStaticClass<span style="font-family: Arial, Helvetica, sans-serif;"></span><span style="font-family: Arial, Helvetica, sans-serif;">() { </span>
return this.getClass();
}
}.getStaticClass();
}
/**
* 利用匿名類靜態方法中獲取當前類名
*/
private static final String getStaticClassName<span style="font-family: Arial, Helvetica, sans-serif;">() {</span>
return new Object() {
public String getClassName() {
String className = this.getClass().getName();
return className.substring(0, className.lastIndexOf('$'));
}
}.getClassName();
}
}
靜態方法獲取當前類名
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.