接口的引用可以= null 吗?

W.K*_*K.S 2 java android interface reference

我刚才在一本书上读到了这段代码。

public class AdapterWrapper implements ListAdapter {
  ListAdapter delegate=null;

  // other code

}
Run Code Online (Sandbox Code Playgroud)

ListAdapter是一个公共接口,并且已创建该接口的引用并将其分配为 null。这是有效的吗?我对此真的很困惑。

Pab*_*ruz 5

是的,这是有效的。它只是意味着这delegate是对接口的引用ListAdapter,并且当前指向null.

您稍后可以将其指向实现该接口的任何ListAdapter类,例如SimpleCursorAdapterWrapperListAdapter您想要的任何其他实现。

当您提前不知道运行时它将是什么类时,使用接口类型作为参考非常有用。因此,您只需使用指向接口的引用即可。