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"
}
}
--
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"
}
}
我还尝试了 this.getClass()
和 super.getClass()
。如何获取实际编码 toString() 和 getClass() 的类名? (a.A)
这只是一个简化的示例,我的观点是如何避免在第一个文件 (A.java) 中对基类名称进行硬编码
最佳答案
package a;
public class A {
public String toString() {
return "I am an " + A.class.getName();
}
}
应该可以解决问题。
关于java - 如何查看包含实际代码的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40379213/