为什么Java接口中的所有监听器?为什么他们不能表现出他们的行为?
答案 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;
}());
方法,因此这些方法甚至不必是抽象的。