首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android我们不能实例化接口-什么游标

Android我们不能实例化接口-什么游标
EN

Stack Overflow用户
提问于 2016-09-28 20:18:01
回答 2查看 37关注 0票数 0

我在java中找到了有关接口的信息,它说我们不能创建它的实例

但我目前正在实现SQLite,我发现:

代码语言:javascript
复制
Cursor res =  db.rawQuery("SELECT * FROM " + TABLE_NAME,null); 

同时:public interface Cursor extends Closeable

所以我能创建一个接口实例吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-28 20:20:48

不,您不是通过这样做创建实例的。创建实例需要使用new关键字(或者使用反射,但这超出了问题的范围)。在db.rawQuery内部的某个地方,他们正在创建一个implements游标类的实例。实现接口需要拥有它声明实现的所有方法(go图),这意味着您可以将该对象视为“游标类”的实例,并将其返回给期望Cursor的人。他们从未直接创建过该接口的实例。

票数 4
EN

Stack Overflow用户

发布于 2016-09-28 20:22:17

在允许多态性的语言中,例如Java,在"=“之前看到的左侧类型称为静态类型,右侧称为动态类型。

静态类型允许您指定所使用的对象为游标类型。这将锁定允许您使用它执行的操作。对象的动态类型是实际的类型,必须是实现接口类型的类才能兼容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39756905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档