Java 类的实例是否等于接口的实例?
该程序具有下一个代码:Java 类的实例是否等于接口的实例?,java,generics,interface,Java,Generics,Interface,该程序具有下一个代码: public class RxTaskHandler<T> implements OnSuccessListener<T>{ public RxTaskHandler(MaybeEmitter<T> emitter){ this.emitter = emitter; } public static void assignTask(MaybeEmitter<T> emitter){
public class RxTaskHandler<T> implements OnSuccessListener<T>{
public RxTaskHandler(MaybeEmitter<T> emitter){
this.emitter = emitter;
}
public static void assignTask(MaybeEmitter<T> emitter){
RxTaskHandler rxTaskHandler = new RxTaskHandler(emitter);
task.addOnSuccessListenerr(rxTaskHandler);
}
@Override
public void onSuccess(Object o) {
emitter.onNext();
}
}
关于此行的问题-task.addOnSuccessListenerrrxTaskHandler。我们必须添加OnSuccessListener接口,但不是添加这个接口,而是添加实现OnSuccessListener的类的实例。这意味着我们可以用接口的实例替换类的实例实现必要的接口 是的
它遵循固有法则。
这里接口充当父类,实现接口的类充当子类。没有接口的实例,因为接口不能实例化。只有实现接口的类的实例。不,您可以将超类型的名称(例如,接口)替换为其子类型的名称(例如,RxTaskHandler),而不是相反。您不能实例化接口。所以,您总是使用实现接口的类对象。Eran,拖延者我们可以创建接口的实例。此实例将是一个简单的参考object@Delphian这是一场关于语言的争论。我和大多数人,我相信使用这些词的方式是,一个对象总是一个类的实例,没有接口。同时,它具有类实现的任何接口的类型,以及类的任何超类的类型