-1

我在 Java 中有这样的疑问:当人们编写事件监听器时,他们实现了一个接口,并在接口中定义了一个特定的函数来实现特定的任务。我的疑问是我们可以用适当的名称定义函数,而不是实现接口。

此外,接口如何帮助实现事件侦听器?

4

2 回答 2

0

因为许多不同的类都想监听同一个事件,而 Java 不允许多重继承。

于 2013-10-06T19:41:50.063 回答
0

Listener 接口为您提供了很大的实现自由。

这样您就不必在特定类中实现特定功能。尽管实现一个接口似乎是一样的,但事实并非如此。侦听器的功能仍然是单一功能,但该功能通常在轻量级对象中。但是,如果需要,您可以在侦听器中实现许多程序机制。

此外,您可以在运行时更改侦听器。您不能更改覆盖的功能。

在这里使用组合(过度继承)有很多很好的理由。

如果您真的想了解这一点,我鼓励您查看“ Heads first: Design Patterns ”。amazon 的“look inside”功能包含完整的第 1 章,对这种模式进行了很好的解释。

于 2013-10-06T19:56:55.680 回答