java - 如何查看包含实际代码的类名

标签 java

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/

相关文章:

java - 如何获得持卡人姓名

java - FTP 客户端 - 列表文件

java - 在 Tomcat 容器中启动进程时遇到一个奇怪的错误。如何解决?

java - Java中nio HTTP解压

java - java多线程中的锁不起作用

Java反转字符串的方法

java - Java 中的原始 HTTP 1.1 请求实现未终止

java - Exceptions 与 throws 子句不兼容的原因是什么?

java - Tomcat : Required request part 'file' is not present

java - 在 react 器中对两个不同的 Mono 进行组合订阅