为什么Java接口中的监听器?

时间:2015-06-06 18:34:28

标签: java interface listener

为什么Java接口中的所有监听器?为什么他们不能表现出他们的行为?

1 个答案:

答案 0 :(得分:1)

Java不允许多重继承,因此所有类都只有一个直接超类。如果听众是课程,您将无法同时扩展任何其他课程。但是监听器没有任何字段,它们只提供子类覆盖的方法,因此它们也可以是接口。这意味着如果需要,您可以自己扩展另一个类,并且它允许您在一个类中实现多个侦听器。

因此,基本上,声明要覆盖的类并且没有字段作为接口而不是抽象类几乎总是更好。使用Java 8,您甚至可以声明(function() { 'use strict'; var Backbone = require('backbone'); var _ = require('underscore'); var Recommendation = new (Backbone.Model.extend({ defaults: { id: '', rating: 0 }; })); var RecommendationStore = new (Backbone.Collection.extend({ model: Recommendation, url: '/recommendations', initialize: function() { console.log('RecommendationStore::initailize()'); var self; self = this; this.fetch({ data: $.param({ user: '55587bd9a3f34012351fd71c'}), success: function(collection, response, options) { console.log(this); } }); }, })); module.exports = RecommendationStore; }()); 方法,因此这些方法甚至不必是抽象的。