java中接口能在实现接口吗》
2016-08-06 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
接口与接口之间只能是继承,不能是实现,要实现接口需要定义一个类来实现这个接口,并且这个类必须重写这个接口的所有方法。
具体代码如下:
public class Demo {
interface A{
void a();
}
interface B extends A{
void b();
}
class C implements A{
public void a() {}
}
class D implements B{
public void b() {}
public void a() {}
}
}
会发现接口B继承了接口A之后就拥有了接口A的a()方法,即接口B拥有两个方法。
extends(继承)是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力;implements(实现)用来实现接口中定义的抽象方法。
具体代码如下:
public class Demo {
interface A{
void a();
}
interface B extends A{
void b();
}
class C implements A{
public void a() {}
}
class D implements B{
public void b() {}
public void a() {}
}
}
会发现接口B继承了接口A之后就拥有了接口A的a()方法,即接口B拥有两个方法。
extends(继承)是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力;implements(实现)用来实现接口中定义的抽象方法。
2016-08-06 · 知道合伙人生活技巧行家
关注
展开全部
接口的作用就是把使用接口的人和实现接口的人分开,实现接口的人不必要关心谁去使用,而使用接口的人也不用关心谁实现的接口,由接口将他们联系在一起。以上像一段绕口令,那么通过下面的几段程序解释:1、以生产和使用一台计算机为例,首先,我们定义了一个显卡的接口,他里面有显示功能和获取显卡名称的功能:interfaceVidioCard{voiddisplay();StringgetName();}2、显卡的生产者来了,他必须实现接口中定义的所有方法,也可以自己增添若干方法:classHaolongVidioimplementsVidioCard{Stringname="Haolong'svidiocard";voidsetName(Stringname){this.name=name;}publicvoiddisplay(){System.out.println("TheHaolong'svidiocardisrunning!!");}publicStringgetName(){returnname;}};显卡制造商生产出了显卡,并且通过setName方法贴上了自己的商标,而通过getName方法可以让使用者知道这块显卡的制造商。3、现在显卡已经生产出来了,但是我们还需要一块主板,把生产出来的显卡插到主板上才能够使用,那么我们去买主板:classMainBorad{Stringcpuname;VidioCardvc;voidsetCPU(Stringcpuname){this.cpuname=cpuname;}voidsetVidioCard(VidioCardvc){this.vc=vc;}voidrun(){System.out.println("wudi-mainbord!");System.out.println(vc.getName());vc.display();System.out.println("mainbordisrunningsuccessful!");}};这是主板厂商生产的主板,这也就是我们所说的接口的使用者,在他生产主板的时候并不知道用户使用的是哪块显卡(程序中这样理解:Mainborad这个类只知道接口VidioCard中有哪些方法,但是并不知道接口的实现类HaolongVidio是怎么去实现接口的,也就是生产主板的厂商并没有必要考虑显卡是哪个厂商的,他要做的只是根据接口把显卡插槽做好,接口里没有实现的方法相当于插槽),但是他留出来了显卡的插槽(插槽就是接口),也就是他不关心谁实现的接口,但是他可以使用接口,预留出显卡的插槽让用户去选购显卡。4、现在我们用户开始组装计算机了:publicclassChengDuActor{publicstaticvoidmain(String[]args){HaolongVidiohv=newHaolongVidio();//买了一块HaolongVidio显卡MainBoradmb=newMainBorad();//买了一块主板mb.setCPU("Intel");//买的是Inter主板mb.setVidioCard(hv);//把HaolongVidio插到主板上(通过主板上setVidio方法)//System.out.println(hv.getName());mb.run();//开电脑运行System.out.println("success");}};以上看出接口的作用就是大力实现了java的开源性,使软件开发过程优化,接口重要的特征是实现了多样性,能够很好地解决C++中遗留的多继承中出现的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询