reference-一个接口的引用是否可以等于 null?

问题描述

一个接口的引用是否可以等于 null?

我从网上找的下面的代码:

public class AdapterWrapper implements ListAdapter {
  ListAdapter delegate=null;

  // other code

}

ListAdapter 是一个公共的接口,该接口的引用已经被创建并被分配为 null。这是否有效呢? 对这个问题很困惑。

解决方案

是有效的,意思是 delegate 是 ListAdapter 接口的一个引用,目前指向 null。
你可以让它指向任何类实现 ListAdapter 接口,比如 SimpleCursorAdapter, WrapperListAdapter。
所以你只使用一个引用指向一个接口就行了。

解决方案二:

不懂。。为null的话当然不能用了

解决方案三:

当然可以, 不会编译错误。

时间: 2024-10-23 23:57:30

reference-一个接口的引用是否可以等于 null?的相关文章

java-为什么网上很多文章说 Cursor是一行的集合?明明是一个接口

问题描述 为什么网上很多文章说 Cursor是一行的集合?明明是一个接口 http://www.2cto.com/kf/201109/103163.html抄来抄去,转来转去,基本就上面链接里这个文章,说Cursor是每行的集合.android 官方api是这么描述Cursor的:"This interface provides...."这是一个接口啊,所以是我理解太肤浅还是网上的文章描述不够专业? 另外在进行数据库操作时,会有类似下面的语句: Cursor cursor = db.q

由猫捉老鼠想起的——关于继承、接口和引用

用C#写了几年的网站,虽然感觉上没什么问题了,但是对于基础知识一直都是模模糊糊的,最近几天重新学习了一下基础知识,感受颇深.对于类.封装.继承.多态.接口等有了新的认识. 我想说说我的想法,请大家看看对不对.用猫捉老鼠来举个例子吧. 语言:C# 先来看看猫,猫有爪子.牙齿.胡须等等,这些都是天生的,也可以说是继承基类得到的.(继承) 再来看看猫捉老鼠的本领,(接口)1.不只是猫能捉老鼠,蛇.猫头鹰等其他动物也可以捉老鼠.2.猫捉老鼠的功能不是与生俱来的,而是后天学习的,如果不学习的话,那么猫就失

java接口管理-ansi9.9加密怎么做,用于一个接口的开发

问题描述 ansi9.9加密怎么做,用于一个接口的开发 3C 如提啊,用phpmyadmin的ansi加密加出来的是空,谁能给我一个它的加密算法,php的最好 解决方案 不要沉啊不要沉啊,多少懂的来说说

设计-怎样用C++builder做一个接口软件?

问题描述 怎样用C++builder做一个接口软件? 我之前没有接触过计算机语言,才开始学习C++builder开发工具和C语言.现在有一个题目是用C++builder设计一个接口软件,不读取,只发送数据到电脑的一个固定接口上.这个软件要求有显示频率和间隔频率.两个button分别加减间隔频率到显示频率上,然后将这个频率发送给电脑接口.听起来挺简单的问题,但是奈何实在不知道程序怎么去写,尤其要跟C++builder设计的界面契合.求程序,不会写能看得懂也行啊. 解决方案 封装一个DLL,两个频率

求一个接口能使js直接调用到ios开发里面的方法

问题描述 求一个接口能使js直接调用到ios开发里面的方法 求一个接口能使js直接调用到ios开发里面的方法,就是js里面连接一个接口,能直接调用ios里面的函数,进行数据的交互 解决方案 参考iOS中JavaScript和OC交互

java 需要做一个连接池。但是不是数据库的,而是类似于一个接口(或者IP地址)

问题描述 java 需要做一个连接池.但是不是数据库的,而是类似于一个接口(或者IP地址) 具体场景如下: 对方提供多个计算服务器供我来调用,计算服务器只能同时计算2个任务. 现在我需要将计算服务器做成可以配置的,然后将任务排队.根据先进先出的原则. 如果所有服务器都在计算任务了.剩下的任务就需要排队了.而计算完成后,在去任务池中取任务.直到任务池的所有任务都处理玩了. 解决方案 使用JDK的线程池[Executors#newFixedThreadPool(2) ],同时并行两个任务,其他的都在

c++-请教:一个完整的C++程序如何提供一个接口给其他软件使用

问题描述 请教:一个完整的C++程序如何提供一个接口给其他软件使用 如题.我用C++做了一个软件,现在想提供一个dll给另一个软件使用.要如何做?是直接在这个C++程序上做接口,还是另外建一个工程来生成dll? 请教大神们啦~谢谢 解决方案 要看另一个软件是需要如何和你的程序交互. 用到你程序的一部分,那么开放dll 只是传递数据的话,提供数据传递的标准,让它自己实现 希望整体嵌入你的程序,那么你实现一个OLE Server,让它用OLE Container嵌入你的程序. 如果那个程序不在本地,

一个接口,有多个实现类,在使用这个接口的时候,如何判断用的是哪个实现类。

问题描述 一个接口,有多个实现类,在使用这个接口的时候,如何判断用的是哪个实现类. 今天读程序的时候,突然遇到的问题.hibernate的Session接口,查看文档发现它被4个类实现了,所以就有疑问,当我开始调用Session中的方法时,它到底是被哪个实现类所实现的? 解决方案 调用getClass方法,会返回对应的类名. 解决方案二: 调用的Session时,它的实例肯定是指定到了一个具体的实现类的,就跟Spring的依赖注入一样 解决方案三: 给接口定义一个protected的enum.实

.net开发的一个接口程序,debug里的EXE执行时不显示界面,进程里有

问题描述 .net开发的一个接口程序,debug里的EXE执行时不显示界面,进程里有 .net开发的一个接口程序,debug里的EXE执行时不显示界面,进程里有,换其他电脑可行,就有一台电脑不行,这台电脑其他程序可以打开,winform架构 解决方案 是不是又死循环在里面,界面被卡死,你在初始化那里下个断点看看