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

接口扩展了另一个接口,但实现了其方法

微生良策
2023-03-14
问题内容

在Java中,当接口扩展另一个接口时:

  1. 为什么要实现其方法?
  2. 当接口不能包含方法主体时,如何实现其方法
  3. 当扩展另一个接口而不实现它时,如何实现这些方法?
  4. 接口实现另一个接口的目的是什么?

这是Java的主要概念!

编辑:

public interface FiresDragEvents {

  void addDragHandler(DragHandler handler);

  void removeDragHandler(DragHandler handler);
}


public interface DragController extends FiresDragEvents {

  void addDragHandler(DragHandler handler);

  void removeDragHandler(DragHandler handler);

  void dragEnd();

  void dragMove();
}

eclipse中,除了中的实现方法之外,还有实现符号DragController

当我将鼠标悬停在它上面时,它表示它实现了该方法!!!


问题答案:

为什么要实现其方法?当接口不能包含方法主体时,如何实现其方法?当扩展另一个接口而不实现它时,如何实现这些方法?接口实现另一个接口的目的是什么?

接口不实现另一个接口的方法,而只是扩展它们。在需要的接口扩展的一个例子是:考虑到你有两种方法车辆接口moveForwardmoveBack但你也需要把飞机是车辆,但一些另外的方法,如moveUpmoveDown所以最后你有:

public interface IVehicle {
  bool moveForward(int x);
  bool moveBack(int x);
};

和飞机:

public interface IAirplane extends IVehicle {
  bool moveDown(int x);
  bool moveUp(int x);
};


 类似资料:
  • 问题内容: 我必须实现一个RMI服务器,该服务器将成为其他两个RMI服务的前端。因此,我决定逻辑上要做的是使该接口实现其他两个服务的接口。 但是,StudentServer上有一种方法 我也想抛出一个错误,因为该服务还将在尝试添加详细信息之前验证该书是否确实存在。 这是可能的还是我的设计思想完全被取消了,实际上这是一个糟糕的设计思想,好像其他接口都已更改一样?而且,为里面的所有方法编写方法签名会更

  • 问题内容: 考虑以下代码: 由于类型擦除的限制,我收到以下错误消息: java.lang.Comparable的不能使用不同的参数继承:和 我有以下要求: 需要是一个枚举,因为我需要将其用作注释中的默认值。 我的界面的约定是,它必须具有可比性。 我已经尝试在接口中使用通用范围,但是Java不支持此功能。 问题答案: 枚举实现Comparable,因此FooImpl最终使用不兼容的参数将Compar

  • 问题内容: 我有以下类和接口: 我想创建一个方法,其中参数需要为BasicObject类型并实现CodeObject。我尝试了以下代码,但不能保证clazz是实现CodeObject的类。 我想做这样的事情,但不能编译: 问题答案: 您的模式类必须扩展和扩展/实现(实际上是一个接口)。您可以使用方法签名的通配符定义中声明的多个类来执行此操作,如下所示: 请注意,如果您通过以下任何一种方式进行操作,

  • 我有以下类和接口: 我想创建一个方法,其中参数需要是BasicObject类型,并实现CodeObject。我尝试了以下代码,但它不能保证clazz是一个实现CodeObject的类。 我想做这样的事情,但它无法编译:

  • 问题内容: 我的意思是: 我用谷歌搜索,发现了这个: 表示定义接口方法的实现。但是接口没有实现,因此是不可能的。 但是,interface是100%抽象的类,抽象类可以实现接口(100%抽象的类)而无需实现其方法。将其定义为“接口”时会出现什么问题? 详细来说, 问题答案: 表示实现,当旨在声明仅提供不提供实现时。 A 100%,是功能上等同于,但它也可以实现,如果你想(在这种情况下,它不会保持1

  • 或者特别是:两者之间的区别是什么 和 它会以任何方式影响实现类吗?