Java 在超类中使用getClass

Java 在超类中使用getClass,java,Java,我想从publicstringgetclass()返回一个字符串值,但我得到一个错误,并告诉我将其更改为 public Class<?> getClass() 为方法选择其他名称 如果您使用getClass()作为方法签名,那么您将覆盖Object::getClass。。。它返回一个类对象 您不想重写该方法 即使您愿意,也不能用不兼容的返回类型覆盖它 您必须忽略/缓和您的UML对此处方法名称的描述。(或者修改UML,如果这是一个选项的话。)UML不能在Java中实现。这是不可能

我想从
publicstringgetclass()
返回一个字符串值,但我得到一个错误,并告诉我将其更改为

public Class<?> getClass()

为方法选择其他名称

如果您使用
getClass()
作为方法签名,那么您将覆盖
Object::getClass
。。。它返回一个
对象

  • 您不想重写该方法
  • 即使您愿意,也不能用不兼容的返回类型覆盖它
您必须忽略/缓和您的UML对此处方法名称的描述。(或者修改UML,如果这是一个选项的话。)UML不能在Java中实现。这是不可能的



事实上,这个声明在超类中的位置并不重要。无论您在继承层次结构的何处尝试此操作,都会遇到相同的问题。(使用实例方法。)

如何调用此代码?
public String getClass() {
     return "Animal";
}