关于java的小问题!

Limbooh 2011-10-22 10:31:34
java中,接口中的方法不是只有方法的声明,没有方法的实现(方法体)嘛,为什么声明一个接口变量以后就可以直接调用这个接口中的方法,而且可以产生想要的效果呢?比如:
接口:Connection
此接口中有方法:Statement creatStatement()
我执行
Connection conn=DriverManager.getConnection();
Statement stmtl=conn.createStatement();
这里conn接口变量为什么可以直接调用它的这个接口方法???
求高手指教
...全文
60 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Limbooh 2011-11-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 uudigg 的回复:]

面象接口编程,降低藕合性 你会这样写Map map = new HashMap() 而不是HashMap map = new HashMap()
[/Quote]
就是说用父类变量引用实现了父类的某些方法的子类对象,比如:
class Super{}
class Sub extends super{}
Super sp=new Sub();
是这样吗?
凌风雪雕 2011-10-24
  • 打赏
  • 举报
回复
搞清楚了没
uudigg 2011-10-24
  • 打赏
  • 举报
回复
面象接口编程,降低藕合性 你会这样写Map map = new HashMap() 而不是HashMap map = new HashMap()
歆鸿 2011-10-23
  • 打赏
  • 举报
回复
不是每一个接口都没有方法的实现,有很多接口提供了默认实现,再说你那个getconnection已经得到了一个Connection的实例
在你举得这个例子中,connection不是一个接口,是一个类,然后conn.createStatement()创建了对象,就可以访问数据库了
凌风雪雕 2011-10-23
  • 打赏
  • 举报
回复
DriverManager.getConnection()返回的是Connection的一个实现类啊


所以才能调用啊

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧