java中的接口作用?

这样的我新手,弄了个菜单照书上写到了这部,实现个时间监听接口然后传入actionevent问题来了。。。??为什么要接口啊,接口又没有方法,直接写不可以吗用接口吗?用类不... 这样的我新手, 弄了个菜单

照书上写 到了这部,实现个 时间监听接口然后传入 actionevent

问题来了。。。??

为什么要接口啊,接口又没有方法, 直接写不可以吗
用接口吗?用类不行吗?也能继承呀
展开
 我来答
yangguo2005
推荐于2017-11-23 · TA获得超过2981个赞
知道小有建树答主
回答量:125
采纳率:100%
帮助的人:91万
展开全部
请问你如何直接写?!

你都没有理解接口的含义。类是对象的抽象,接口抽得更厉害,是类的抽象。不打机锋,直接看尘世的七情六欲。

比如,你要一个充气娃娃,这个充气娃娃有一个makeLove方法,你买这个娃娃就是冲着makeLove去的,你不关心它是哪国的娃娃,长得怎样。那么代码就体现为:

interface Chongqiwawa{
public void makeLove(String name);
}

class Person{
Chongqiwawa wawa;
public void setWawa(Chongqiwawa wawa){
this.wawa = wawa;
}
private String name;
public void makeLove(){
//调用wawa的makeLove方法
wawa.makeLove(name);
}
现在,你想和wawa那个,就可以这样用了:
main(){
Person you = new Person();
you.makeLove();
}

报错了吧?你怎么能跟虚的wawa那个呢?所以必须要买一个wawa.好吧,去逛成人店选购一个wawa.这里有日本娃娃,美国娃娃,先看看美国娃娃功能怎么样。

class USAWawa implements Chongqiwawa{
public void makeLove(String name){
System.output.println(name + " come on! a,a, a...");
}
}
好吧,你已经流口水了,一口价成交,然后带回家,迫不及待实践一下,代码体现为:
main(){
Person you = new Person();
Chongqiwawa wawa = new USAWawa();
you.setWawa(wawa);
you.makeLove();
}

这时候你已经可以和娃娃水乳交融了。不久,你发觉厌倦了美国娃娃,想试下日本娃娃,再次来到成人超市,日本娃娃makeLove功能实现如下:
class JapanWawa implements Chongqiwawa{
public void makeLove(String name){
System.output.println(name + " yemede! a,a, a...ganbade...");
}
}
OK,你直接丢下一堆钞票一句不用找就抱回家了,马上进入主题:

main(){
Person you = new Person();
//获得实际的wawa
Chongqiwawa wawa = new JapanWawa();
you.setWawa(wawa);
you.makeLove();
}
看见了吗,只需改动一行代码,你就实现了娃娃的切换,得到不同的makeLove感受,其他代码都不用改。

OK,停止 YY,回到主题。
这里的Chongqiwawa 对应于 ActionListener,你要实现actionListener接口就相当于实现一个美国娃娃或日本娃娃,然后你addActionListener,就相当于给系统提供一个wawa,系统只要在产生相应事件时调用接口的actionPerformed方法,就相当于你在饥渴时调用makeLove方法,你知道有这个方法即可,不用关心他是哪来的和怎么实现的。
小山山001
推荐于2018-02-06 · TA获得超过1159个赞
知道小有建树答主
回答量:1246
采纳率:0%
帮助的人:1266万
展开全部
不是先这些接口你就得不到你要的功能,你实现了某个接口,就必须在此类里覆盖接口里的所有方法,应为在接口里的所有方法都是抽象的,所以在子类里必须复写。
接口感觉就是一些类似的事物共有的域或方法,就像有一个接口animal,里面有个方法eat,然后你每一个动物的类,都去实现这个接口,因为每个动物都有各自的饮食方法,这样就增加了代码的复用性,不要再每一动物类里都要重新想一个名字来定义eat。
接口在大型程序里都是要用到的,很重要

在java里只能单继承父类,不想C++克多继承,如果你想继承多个类是不行的,所以这时只能用接口,接口可以继承任意个,
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1536631974
2012-03-19
知道答主
回答量:36
采纳率:0%
帮助的人:15.3万
展开全部
1、如果只有一个类,没必要使用接口。(只需用到该类名即可,无需用接口代替,出现在代码中)
2、需要切换使用多个类时,首先,需要用一个代替,并用该代替来命名对象,该对象出现在已编写的代码中(这个代替就是接口,是类的抽象化),再次,用具体的类来实现接口(既:使用不同的类的其中的一个类)
(1)【其中一个类】implements【接口】
(2)【接口】【对象】=new 【其中一个类】
3、接口的意义:接口始终是确定的,类名是不确定的。在多个类中切换类时,只需改变这个类的名字。无需改变大段代码(在这段代码中,是以接口声明的对象的形势出现的。接口就像是一个代词,这个代词代替的就是需要用到的类,切换类时,只需改变类名)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
揭鸿煊潭卿
2019-10-25 · TA获得超过2.9万个赞
知道小有建树答主
回答量:1.1万
采纳率:33%
帮助的人:957万
展开全部
在类中,我们子类可能会继承多个父类,C++语言可以这样做,但是java只允许单继承也就是只能继承一个父类,不能继承多个父类,这就需要用到接口来解决多继承的问题!所以接口的出现,很好的解决了实现多继承的问题了!接口还有另一个作用,就是使用面向接口来编写程序!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
念涵柳宝淼
2019-03-06 · TA获得超过2.9万个赞
知道大有可为答主
回答量:1.1万
采纳率:31%
帮助的人:854万
展开全部
说那么专业干嘛,其实接口就是以后擅于维护,和生活中的插座、U盘插孔等一个道理如果什么电器都直接去拉一根电线是不是很麻烦!有了插座不是很容易管理吗?不用哪个直接拔了就是,接口也是一样的道理,这样不是很容易以后的维护吗?这样解释多么容易懂啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式