A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郝亚平 黑马帝   /  2011-11-23 17:39  /  4930 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 郝亚平 于 2011-11-23 17:56 编辑

《Java Language Specific》中看到这么一句话:
A variable of an interface type can hold a null reference or a reference to an instance of any class that implements the interface.

”A variable of an interface“,恩,这个激发了自己的遐想,接口是不是也可以直接声明变量呀?
自己是没见过。请问下。

6 个回复

倒序浏览
崔浩 黑马帝 2011-11-23 17:46:12
沙发
接口变量被赋值于子类实现的对象
好比在定义方法的时候可以是接口的变量,在实际调用的时候,传入子类的对象。
集合中也是有很多的,List list=new ArrayList();声明了一个List接口类型的变量,但是赋值了ArrayList实现类的子类的对象
回复 使用道具 举报
崔浩 发表于 2011-11-23 17:46
接口变量被赋值于子类实现的对象
好比在定义方法的时候可以是接口的变量,在实际调用的时候,传入子类的对 ...

Yes。Thanks.好。
回复 使用道具 举报
接口是可以直接声明为变量的,但在为它赋值时必须为实现了该接口的类。{:soso_e100:}
回复 使用道具 举报
接口不能直接实例化,接口变量必须指向实现所有接口方法的类对抽象类要被子类继承,接口要被类实现。
接口只能做方法申明,接口里定义的变量只能是公共的静态的常量.
回复 使用道具 举报
颜小飞 发表于 2011-11-23 22:15
接口是可以直接声明为变量的,但在为它赋值时必须为实现了该接口的类。 ...

very good answer。好。
回复 使用道具 举报
郝亚平 黑马帝 2011-11-24 12:40:34
7#
程佳佳 发表于 2011-11-24 10:36
接口不能直接实例化,接口变量必须指向实现所有接口方法的类对抽象类要被子类继承,接口要被类实现。
接口 ...

好。谢谢回复。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马