当前位置: 首页 > 面试题库 >

强制子类中的toString()实现

朱越
2023-03-14
问题内容

我有一个抽象的父类,我希望它 强制 所有子类实现toString()方法。

但是放:

public abstract String toString();

导致编译错误:

Repetitive method name/signature for method 'java.lang.String toString()' in class ...

我相信这可能是由已经定义了toString的常规引起的。

谢谢


问题答案:

toString()是的一部分java.lang.Object,其已经为它的默认实现类。因此,您基本上不能强制子类实现它。如果您想强制这种行为(不确定原因),则可以执行以下操作

public class abstract SuperClass {
  public abstract String myToString();

  public String toString() {
    return myToString();
  }
}


 类似资料:
  • 我有一份抽象的课堂报告: 我需要强制所有子类填充此 surrogateId 属性。(如果子类未填充属性,则会出现编译错误) 我尝试使用 final 关键字来强制我在构造函数中引入此属性的值,但我必须手动生成构造函数而不是使用 Lombok,很多样板代码。有没有办法在不手动生成结构的情况下实现相同的期望。

  • 问题内容: 如何在实现类中强制执行方法getFoo(),返回相同实现类类型的列表。 现在,实现Bar的类将返回实现Bar的任何类的对象。我想使其更加严格,以便实现Bar的类在getFoo()中仅返回其类型的对象列表。 问题答案: 不幸的是,这不能由Java的类型系统强制执行。 但是,您可以通过使用以下方法来达到非常接近的效果: 然后您的实现类可以像这样实现它: 但是没有什么可以阻止另一个类这样做:

  • 当我点击我的颤振应用程序中的一个按钮时,我出现了一个错误。这里有人有解决方案吗?! 路线 争论 还有地图 完全错误 生成CategoryMalsScreen(脏,依赖项:[[U ModalScopeStatus],状态:[U CategoryMalsScreenState]时引发了以下错误:类型“String”不是类型“Map”的子类型 导致错误的相关小部件是:CategoryMalsScreen

  • 我想强制子类实现我母亲类的一个实现方法。我看到了一个已实现方法的Java-Force实现,但我无法将我的母类转换为抽象类。 在这个例子中,我想强制myClass实现myMethod。 抱歉我的英语...

  • 我正在实现tomcat会话复制以实现集群之间的负载平衡,但是复制需要会话中的所有对象都是可序列化的。 在集群之前,有很多类不是Serirazable并存储在会话中,我们更改为实现Serilazable,但是随着将来的类的添加,可能会发生这种情况,有人可能会错过序列化,这将导致会话复制时出错。 我在考虑扩展tomcat提供的HttpSession实现并覆盖setAtcm以摄入Serializable

  • 问题内容: 如果一个类定义了一个注释,是否有可能迫使其子类定义相同的注释? 例如,我们有一个简单的类/子类对,它们共享 我想做的事情,就是迫使每个进一步的子类定义相同的注释,以防止将来出现问题。 TestClass.java: TestSubClass.java: 我知道我可以在运行时枚举所有批注并检查是否丢失了,但是我真的很想在编译时执行此操作(如果可能)。 问题答案: 您可以在编译时使用JSR