繁体   English   中英

扩展抽象类的类

[英]Class which extends abstract class

我有一个问题,我有一个实现接口的抽象类,还有一个扩展了第一个抽象类的类,但是我得到一个错误,它说我的第二个类必须从接口继承方法,我不想要那个,我也也可以将其更改为抽象类,但是我无法在某个第三类中从该类调用构造函数,我该如何解决这个问题? 我在互联网上搜索了答案但找不到它,我不明白抽象类很好所以我无法解决它。请帮忙(ps 对不起我的英语,这真的很糟糕)

编辑:我有一个任务,要求我的第二个类需要扩展抽象类,我正在实现接口,因为他们还给了我主类,他们在我的第二个类中从构造函数创建对象,然后他们正在使用它对于接口类型,我不知道这是否有意义,代码很长,但我会给出一些行:这是我的主类 (NationalTeam bulgaria = new NationalTeam("Bulgaria", Formation.F352, "Bulgaria") ; nationalManager.setManagingTeam(bulgaria);) (bulgaria 必须是接口类型),这里也是我的第二类构造函数,它扩展了抽象类:(public NationalTeam(String name,Formation Formation,String country){ super(name,formation) ); this.country=country; })

抽象类:抽象类可能有抽象方法,这意味着方法是没有实现的方法。

当您扩展抽象类 A 时,类 A 的方法必须由您的子类实现,例如 B,除非您将子类 B 设为 anstract 类。

您需要考虑如何设计系统而不是编译器如何强迫您。

如果设计说第二个类应该是抽象的,那么就去做,然后最终在你的实现中实现你的抽象方法。

另一方面,如果第二个类是您的实现不是抽象的,则您必须提供实现以使其成为对象

我的第二个类必须从接口继承方法,我不想要那个

真的吗? 那你当初为什么要声明接口呢? 为什么抽象类需要实现接口?

接口应该是更高级别的抽象。 它是客户端代码和库之间的契约。 它在客户端代码和库之间创建了一个接口。 这就像说“我有能力做界面要求我做的事情”。 你说你不想?

因此,有两种好方法和一种坏方法可以解决此问题:

好的

  1. 不要扩展抽象类。 因为如果你这样做,它可能没有意义。

  2. 抽象类不扩展接口。

糟糕(这真的很糟糕

在接口中添加方法并将主体留空或返回一个随机值。 再说一次,如果你没有必要,不要这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM