如何从该类中的静态方法获取类的名称.例如
public class MyClass {
public static String getClassName() {
String name = ????; // what goes here so the string "MyClass" is returned
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
为了把它放在上下文中,我实际上想要在异常中将类名作为消息的一部分返回.
package a;
public class A {
public String toString() {
// return "I am an a.A"; is too primitive ;)
return "I am an " + getClass().getName(); // should give "a.A"
}
}
Run Code Online (Sandbox Code Playgroud)
-
package a;
public class X extends A {
public static void main(String[] args) {
X test = new X();
System.out.println(test); // returns "I am an a.X"
}
}
Run Code Online (Sandbox Code Playgroud)
我也试过this.getClass()和super.getClass().如何获取实际编码toString()和getClass()的类名?(AA)
这只是一个简化的示例,我的观点是如何避免在第一个文件(A.java)中对基类名称进行硬编码