扩展抽象类的类

时间:2015-11-15 13:10:31

标签: java

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

编辑: 我有一个任务,需要我的第二个类需要扩展抽象类,我实现接口,因为他们也给了我的主类,他们从我的第二个类中的构造函数创建对象,然后他们使用类型接口,我不知道这是否有意义,代码很长,但我会给出一些线:这是我的主要类 (NationalTeam bulgaria =新国家队("保加利亚",Formation.F352,"保加利亚"); nationalManager.setManagingTeam(保加利亚);)(保加利亚必须是界面类型), 这里也是我的第二类构造函数,它扩展了抽象类:( public NationalTeam(String name,Formation formation,String country){         超级(姓名,形成);         this.country =国家;     })

3 个答案:

答案 0 :(得分:0)

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

当你扩展抽象类A时,类A的方法必须由你的子类实现,比如说B,除非你把你的子类B作为anstract类。

答案 1 :(得分:0)

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

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

另一方面,如果第二类是你的实现而不是抽象,你必须提供实现来制作它的对象

答案 2 :(得分:0)

  

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

真的?那你为什么要首先申报界面呢?为什么抽象类需要实现接口?

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

所以有两种好的方法和一种不好的方法来解决这个问题:

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

  2. 抽象类不会扩展界面。

  3. 糟糕(这真的很糟糕

    在界面中添加方法并将主体留空或返回随机值。如果你不 ,请不要这样做。