社区
Java SE
帖子详情
Java中关于interface的疑惑
OhGod
2003-11-19 04:10:10
好像接口并不可以做一个独立的实例
但是在javax.sql.connection ,java.sql.DriverManager 都可以以实例的形式出现。(在tomcat 做容器的时候)
这个到底怎么回事?
接口可以独立的,以实例的形式存在吗?
...全文
3509
24
打赏
收藏
Java中关于interface的疑惑
好像接口并不可以做一个独立的实例 但是在javax.sql.connection ,java.sql.DriverManager 都可以以实例的形式出现。(在tomcat 做容器的时候) 这个到底怎么回事? 接口可以独立的,以实例的形式存在吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
huangry
2003-11-21
打赏
举报
回复
我觉得楼主 需要仔细看一下书 这样问一点没什么意义
hurt75
2003-11-21
打赏
举报
回复
一个类要实现一个接口用关键字implements后面跟接口的名字。并要在类里实现这个接口中的所有方法。你说的connect这种情况只是实例造型。并不是直接从接口实例化一个类出来。
OhGod
2003-11-21
打赏
举报
回复
总结:
Shrewdcat(丧邦&灵猫&潇说的对。不过getConnection()返回的是connection接口的引用,并不是一个对象。其实new myObject()返回的也是一个实例的引用。
关于tomcat中连接池的配置中所提到的dataSource是实现了datasource接口的class。如BasicDatasource。
over.
谢谢各位。
Shrewdcat
2003-11-21
打赏
举报
回复
首先可以肯定的是:
接口(interface)是不可能作为一个独立的实例那样被使用的。接口是没有实现的函数。只有继承该接口的对象,要实现接口中的函数。
至于兄弟提出的问题,答案应该是这样的:
DriverManager.getConnection()返回的是一个实例化的对象,该对象实现了connection接口
xiaomantoubaba
2003-11-21
打赏
举报
回复
看了这么多的回复才知道我对接口的掌握还是不够!
DDrddr
2003-11-20
打赏
举报
回复
看来是没人回答了,不懂啊
OhGod
2003-11-19
打赏
举报
回复
tsd3698(七夜) 也看看 请求支援
OhGod
2003-11-19
打赏
举报
回复
re:
晕~~~~~~~~~
DriverManager.getConnection()返回的是一个实例化的对象,该对象实现了connection接口啊,当然可以做这样的类型转换啊~~~~~~~
-------------------------------------------------
不过 public static Connection getConnection(String url) throws SQLException
这是api的doc 返回的是connection .并不是一个类的对象。
OhGod
2003-11-19
打赏
举报
回复
a!!!!!~~~~
终于记起来了!!!以前看书的时候没有实际用过,感觉不出来多态的好处,所以没印象。
这次得到几位兄台的指点,想起来了。!!
thx!!!!
iloveU all!
LeoYu
2003-11-19
打赏
举报
回复
老兄,这是多态的典型表现,把多态再过一遍吧!
tsd3698
2003-11-19
打赏
举报
回复
接口当然不可以实例化,如:connection conn=new connection(...)就是错误的。
但当一个类实现了此接口后,此类的任何实例都可以被此接口的变量所引用。
如:
class A implements B{
...
public static void main(String args[]){
B b=new A(...);
}
DDrddr
2003-11-19
打赏
举报
回复
请coolroy2000(coolroy)讲讲
DriverManager.getConnection()返回的是一个实例化的对象
这个对象的类型是什么的呢??
coolroy2000
2003-11-19
打赏
举报
回复
connection conn=DriverManager.getConnection();
这个代码肯定很多人都写过吧? connectino就是个interface, 可以查api
晕~~~~~~~~~
DriverManager.getConnection()返回的是一个实例化的对象,该对象实现了connection接口啊,当然可以做这样的类型转换啊~~~~~~~
OhGod
2003-11-19
打赏
举报
回复
接口有引用吗?
如果有,那么,一个接口的引用可以指向一个类的实例?
疑惑
OhGod
2003-11-19
打赏
举报
回复
en drivermanager是。
but , DataSource 是interface, 配置连接池的时候实例化了
kinoviti
2003-11-19
打赏
举报
回复
我的理解是:
connection是接口 没错 ;接口的方法都不能使用 没错;
但是 java中 reference + upcasting 就可以完成我们认为不可思议的动作,
DriveMangement是类 ,实例化出一个 A 然后调用A.getConnection()返回一个
connection (这里进行了 UPCASTing)
所以 此处的
Connection B = A.getConnection(jdbc,username,passwd);
B其实是指向一个实例的,并不是空的接口
kinoviti
2003-11-19
打赏
举报
回复
java.sql.DriverManager是class 不是interface
java.sql.connection 是 interface
OhGod
2003-11-19
打赏
举报
回复
还有javax.sql.DataSource 也是个Interface, 可是在做jdbc的连接池的时候,可以通过jndi来获取,也可以 getConnection()
疑惑~
DDrddr
2003-11-19
打赏
举报
回复
我也不明白
你说的这个我倒是明白
getConnection()方法返回的是实现了Connection接口的实例,所以是正确的
举例来说,InterfaceA是接口,ClassB是类,它实现了InterfaceA接口。
你就可以这样写
InterfaceA a = new ClassB();
这是正确的
我不明白的是,java中谁实现了这几个接口呢?他们的返回值也都是接口啊??
okwuzhijun
2003-11-19
打赏
举报
回复
接口可以作为一种数据类型,但不能实例化。
换个角度想想,假如一个接口被实例化了,那么你调用它的方法时它又将如何产生动作昵?
加载更多回复(4)
java
8 functional
interface
注解_关于
java
8
中
的@Functional
Interface
的一个
疑惑
,什么才是SAM接口?...
先说结论,题主定义的接口如下:@Functional
Interface
public
interface
Functional
Interface
Annotation {int compare(T o1, T o2);boolean equals(Object obj);}这个接口是符合 SAM 定义的,编译器不会报错,其
中
,...
Java
|
interface
和 implements关键字【接口,看这篇就够了】
三万字详解
Java
接口,带你从浅入深理解接口,掌握接口的各方面灵活调用
java
中
接口作用_
Java
中
接口的作用
下面我给大家总结了4点关于
JAVA
中
接口存在的意义:1、重要性:在
Java
语言
中
, abstract class 和
interface
是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了
Java
强大的 面向对象能力。2、简单、规范...
Java
|
interface
和 implements 关键字【接口,看这篇就够了】
学完继承、学完多态,但面对汹涌而来:ocean:的接口,相信很多同学都不知所措,因此我耗费几天几夜的时间,搜寻大量书籍资料,苦心闭关钻研,写出了一篇关于
Java
的接口从入门小白到精通大佬的学习之路,相信这篇...
java
interface
中
定义的class 是否是static 的验证
java
interface
中
定义的class 是否是static ,记得书本上有详细的介绍,由于自己也不想再翻书,突然想到用
java
p 分别反编译一下
interface
和class
中
包含的class 文件。两者进行对比消除了自己的
疑惑
。 记录下来...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章