社区
Java SE
帖子详情
java中怎么用接口啊!
litdong
2003-04-14 11:37:14
java中可以定义接口,在具体类中实现接口,可怎么用接口呢!在vb中,我可以定义一个接口对象变量,然后引用使用实现多态性,在java中,我可以定义接口对象变量然后使用吗?
初学,请指教!
...全文
208
18
打赏
收藏
java中怎么用接口啊!
java中可以定义接口,在具体类中实现接口,可怎么用接口呢!在vb中,我可以定义一个接口对象变量,然后引用使用实现多态性,在java中,我可以定义接口对象变量然后使用吗? 初学,请指教!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
teafang
2003-04-14
打赏
举报
回复
同志们说说接口和虚类的区别优势和使用场合如何 我对这个一直不清楚
teafang
2003-04-14
打赏
举报
回复
嘿嘿 手误 手误 implements写错了
应该用你实现后的类来创建对象
例如 GhostKiller(铁猴子) 的例子里你应该用
TestInterface yourobj = new TestInterface();
yourobj.getAA(); 而不是用AA
徐蕴
2003-04-14
打赏
举报
回复
不好意思发错了
public interface AA {
public void getAA();
}
public class AAImpl implements AA{
public void getAA(){
//...
return;
}
//...
}
AA objaa =new AAImpl();
objaa.getAA();
徐蕴
2003-04-14
打赏
举报
回复
可以这样
public interface AA{
litdong
2003-04-14
打赏
举报
回复
是,这我明白,可
public interface AA {
public void getAA();
}
我的意思是说:实现后可以这样吗:AA objaa =new AA();
objaa.getAA();
yyfzy
2003-04-14
打赏
举报
回复
对,接口的方法必须自己实现
yjawal8071
2003-04-14
打赏
举报
回复
implements 实现各种里面的方法
csrcom
2003-04-14
打赏
举报
回复
楼上的每个人说的都有道理!
GhostKiller
2003-04-14
打赏
举报
回复
当然你必须实现接口中的方法才行.
GhostKiller
2003-04-14
打赏
举报
回复
更正楼上的 implement -----> implements
如果你要自己编写一个接口,下面是例子:
AA.java
public interface AA {
public void getAA();
}
TestInterface.java
public class TestInterface implements AA {
public void getAA() {
System.out.println("aa");
}
public static void main(String[] args) {
}
}
注意接口是在一个单独的文件中. 实现用implements.
moumouren
2003-04-14
打赏
举报
回复
up 用implement并自己实现接口中定义的方法
teafang
2003-04-14
打赏
举报
回复
必须实现你的接口
如 public class 你的类 implement 接口{
}
在你的类定义里面必须实现你在接口中定义的方法
sbks
2003-04-14
打赏
举报
回复
to wangsheng1028(傻乎乎) :
用接口来体现多继承。在java中,类之间只能单继承,在单继承的情况下,父类有什么特性,子类就只能这么多特性,而无法拥有其它非父类的特性。
接口允许你拥有其它类的特性。
我也是新手,不知我理解得对不对
xzwsun
2003-04-14
打赏
举报
回复
我可以定义接口对象变量然后使用吗?
可以!
wangsheng1028
2003-04-14
打赏
举报
回复
接口有什么特别的用处
偶菜鸟,不懂呀!!
litdong
2003-04-14
打赏
举报
回复
其实,我的目的很简单,仅仅想知道能否在java中“能否控制实现该接口的类的任何对象“,看来我的想法没错!可以!咱们接着teafang的问题讨论:)说说接口和虚类的区别优势和使用场合如何
litdong
2003-04-14
打赏
举报
回复
Java 技巧 10:用 Java 实现回调例程
用 Java 接口实现回调函数的等价功能
作者:John D. Mitchell
摘要
在 Java 支持方法指针之前,Java 接口不能提供一种实现回调的好方法。如果您习惯于传递在事件驱动编程模型中调用的函数指针,则您会喜欢本技巧。
熟悉 MS-Windows 和 X Window System 事件驱动编程模型的开发人员,习惯于传递在某种事件发生时调用(即“回调”)的函数指针。Java 的面向对象模型目前并不支持方法指针,这样似乎就不可能使用这种很好的机制。但我们并不是一点办法都没有!
Java 的接口支持提供了一种获得回调的等价功能的机制。其技巧就是:定义一个简单接口,并在该接口中声明我们要调用的方法。
例如,假定我们希望在某个事件发生时得到通知。我们可以定义一个接口:
public interface InterestingEvent
{
// 这仅是一个常规方法。因此如果需要,
// 它可有返回值,也可接收参数。
public void interestingEvent ();
}
这使得我们可以控制实现该接口的类的任何对象。因此,我们不必关心任何外部类型信息。与在将 C++ 代码用于 Motif 时使用窗口小部件的数据域来容纳对象指针的难以控制的 C 函数相比,这种方法要好得多。
发出事件信号的类必须等待实现了 InterestingEvent 接口的对象,并在适当时候调用 interestingEvent() 方法。
public class EventNotifier
{
private InterestingEvent ie;
private boolean somethingHappened;
public EventNotifier (InterestingEvent event)
{
// 保存事件对象以备后用。
ie = event;
// 还没有要报告的事件。
somethingHappened = false;
}
//...
public void doWork ()
{
// 检查在别处设置的谓词。
if (somethingHappened)
{
// 通过调用接口的这个方法发出事件信号。
ie.interestingEvent ();
}
//...
}
// ...
}
在上例中,我使用 somethingHappened 谓词来跟踪是否应触发事件。在许多情况下,调用此方法足以保证向 interestingEvent() 发出信号。
希望接收事件通知的代码必须实现 InterestingEvent 接口,并将自身引用传递给事件通知程序。
public class CallMe implements InterestingEvent
{
private EventNotifier en;
public CallMe ()
{
// 创建事件通知程序,并将自身引用传递给它。
en = new EventNotifier (this);
}
// 为事件定义实际的处理程序。
public void interestingEvent ()
{
// 噢!必定发生了感兴趣的事件!
// 执行某些操作 ...
}
//...
}
这就是所要做的全部工作。我希望这个简单的 Java 习惯用法会使您更有信心地转向 Java。
呵呵,谢了!看来可以!!
Weblog
2003-04-14
打赏
举报
回复
abstract class中可以有一些函数实现的动作,但在interface中,一点都没有,是纯粹的定义;
在extend抽象类的时候,subclass必须实现abstract class中的所有method,否则该subclass仍然是abstract的,而interface一般用来实现java中的多重继承。
Java
接口
讲解!什么是
Java
接口
?
Java
接口
的特点是什么?
但实现
接口
可以实现多个,后边可以用逗号,再加另外一个
接口
,这就变相实现了多进程。与抽象类不同的是,
接口
类的方法都是抽象方法,也可以有一个默认方法(暂时先不说)。
接口
里边不用写,默认就是这样的。
Java
接口
是一系列方法的声明,是一些方法特征的集合,一个
接口
只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。当我们看到了即使没有全部实现,它也不报错,说明抽象类实现
接口
的时候,不用把全部方法都实现。对于
接口
来说,是要实现这个
接口
,并实现它里边的方法。
Java
接口
,一次读懂!
在
Java
中
,定义
接口
使用interface关键字。void eat();eat和sleep,但没有具体的实现。
接口
是
Java
中
非常强大的工具,它让我们的代码更灵活、更具扩展性,同时也提高了代码的可维护性。通过定义
接口
,我们可以解耦代码,实现多态,并强制约定实现类必须实现所有的方法。希望通过这篇文章,大家能对
Java
接口
有一个清晰的理解。如果还有什么问题,欢迎留言讨论!学
Java
其实并不难,只要我们一步一步来,慢慢积累经验,相信你也能成为
Java
大神!关注我一起加油吧!
java
的
接口
问题!
最近在读一些源码的时候突然发现了一个很神奇的东西,它的原始形态是这样的: 在这行代码
中
,BlockingDeque、BlockingQueue和Deque是三个
接口
。刚发现这个问题时,我是十分吃惊的,因为即使在《Thinking in
Java
》
中
也没有提到
接口
之间的继承。所以我立即把这个疑问提交到了stackoverflow上面。 正如在stackoverflow上面所讨论的一样,一
Java
中
Comparable
接口
和Comparator
接口
的区别(如果想知道
Java
中
Comparable
接口
和Comparator
接口
的区别,那么只看这一篇就足够了!)
Java
中
Comparable
接口
和Comparator
接口
的区别(如果想知道
Java
中
Comparable
接口
和Comparator
接口
的区别,那么只看这一篇就足够了!)
关于
JAVA
中
的
接口
!
单从下面的代码
中
,无法认识到
接口
的好处!因为初学者会觉得,没有
接口
,程序的输出结果是一样的! 那
JAVA
的
接口
好处到底是什么呢? 具体理解: 其实
接口
在多继承时,表现的更加清楚! 我们都知道
JAVA
中
普通继承只能单继承!引用了
接口
后,把
接口
和单继承结合使用,这时,多继承就可以应用了! interface Flyanimal{//飞行动物 void fly(); }
Java SE
62,622
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章