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)中对基类名称进行硬编码
package a;
public class A {
public String toString() {
return "I am an " + A.class.getName();
}
}
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩.