浅析Java语言中接口的特点和继承相关知识
后台回复“Java”即可获赠Java学习资料
今
日
鸡
汤
山寺钟鸣昼已昏,渔梁渡头争渡喧。前面几篇文章用Java带大家一起了解Java的部分基础知识,感兴趣的小伙伴们可以去学习下了,一篇文章带你了解Java类的设计和封装及类成员的访问控制、一篇文章带你了解this关键字和单例模式、Java基础入门篇——面向对象和类的定义,这篇文章带大家一起学习下Java知识中的接口及其继承知识,一起来看看吧。
一、接口的继承1.定义一个接口使用extends关键字来继承另一个接口,这就是接口的继承。
2.语法:
[修饰符] interface 接口名 extends 父类接口1, 父类接口2, …{定义常量0个或多个;定义抽象方法0个或多个;}
3.如何实现接口的继承关系例子
//定义Printer接口interface Printer{int max_line=20;//定义全局常量void printRun();//定义抽象方法pirntRun()void printData();//定义抽象方法printData()}//定义了Autopriner接口,然后继承Printer接口interface Autoprinter extends Printer{//接口继承void autoPrint();//定义抽象方法autoPrint()方法}//Colorprinter类实现Printer接口class Colorprinter implements Autoprinter{//实现printRun()方法public void printRun(){System.out.println("彩色打印机正在启动");}//实现printData()方法public void printData(){System.out.println("彩色打印机正在打印中");}//实现autoPrint()方法public void autoPrint(){System.out.println("彩色打印机自动打印");}}public class p27 {public static void main(String[] args) {// TODO Auto-generated method stubColorprinter c=new Colorprinter();//创建Colorprinter类的实例对象c.printRun();//调用Colorprinter类的printRun()方法c.printData();//调用Colorprinter类的printData()方法c.autoPrint();//调用Colorprinter类的autoPrint()方法}}
输出的结果是:
彩色打印机正在启动彩色打印机正在打印中彩色打印机自动打印
从上面的代码中,首先是定义了Printer接口,定义全局常量和两个方法分别是printRun()和printData(),然后再定义一个Autopriner接口来继承Printer接口,再Colorprinter类实现Printer接口,此时,Autopriner接口有三个抽象方法,通过Colorprinter类实例化对象然后调用对应的方法。
二、接口的特点1.接口里的方法是抽象的,不可以去实例化对象。
2.如果实现某接口的类是抽象类,那么可以不实现该接口的所有方法。对于这个抽象类任何一个不是抽象类的子类来说,就需要实现所有抽象方法。
3.一个类使用implements关键字实现多个接口
例如:
//定义A接口interface A{int MAX=1;//定义全局常量void testA();//定义抽象方法testA()}//定义B接口interface B{int MAX=2;//定义全局常量void testB();//定义抽象方法testB()}//定义一个类实现A,B接口class C implements A,B{int MAX=3;//定义全局常量//实现testB()方法@Overridepublic void testB() {// TODO Auto-generated method stubSystem.out.println("我是B");}//实现testA()方法@Overridepublic void testA() {// TODO Auto-generated method stubSystem.out.println("我是A");}}public class p28 {public static void main(String[] args) {// TODO Auto-generated method stubC c=new C();//创建C类实例对象c.testA();//调用C类的testA()方法c.testB();//调用C类的testB()方法}}
运行的结果是:
我是A我是B
从上面代码中,定义了A和B接口,在C类中使用implements关键字实现A和B的接口的方法,实例化对象并调用对应的方法。
4.一个接口使用extends关键字实现继承多个接口
例如:
//定义A接口interface A{int MAX=1;//定义全局常量void testA();//定义抽象方法testA()}//定义B接口interface B{int MAX=2;//定义全局常量void testB();//定义抽象方法testB()}//定义接口继承A,B接口interface C extends A,B{int MAX=3;//定义全局常量void testC();//定义testC()方法}public class p29 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println(A.MAX);System.out.println(B.MAX);System.out.println(C.MAX);}}
运行的结果是:
123
5.一个类在实现某接口的抽象方法,就需要使用一样的方法头。
6.如果实现某接口的类不是抽象类,那么类的定义部分需要实现指定接口的所有抽象方法。
三、总结本文主要介绍了接口的继承和接口的特点。
接口的继承是定义一个接口使用extends关键字来继承另一个接口,通过如何实现接口的继承例子来帮助大家的理解这个用法。
一个类使用implements关键字实现多个接口,一个接口使用extends关键字实现继承多个接口。
希望大家通过本文的学习,对你有所帮助!
-------------------End-------------------
往期精彩文章推荐:
一篇文章带你了解Java继承那些事儿一篇文章教会你使用Java中的super关键字基本用法一篇文章带你了解Java中的static关键字和静态变量、静态方法一篇文章带你了解Java类的设计和封装及类成员的访问控制欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Java学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
相关阅读
-
世界热推荐:今晚7:00直播丨下一个突破...
今晚19:00,Cocos视频号直播马上点击【预约】啦↓↓↓在运营了三年... -
NFT周刊|Magic Eden宣布支持Polygon网...
Block-986在NFT这样的市场,每周都会有相当多项目起起伏伏。在过去... -
环球今亮点!头条观察 | DeFi的兴衰与...
在比特币得到机构关注之后,许多财务专家预测世界将因为加密货币的... -
重新审视合作,体育Crypto的可靠关系才能双赢
Block-987即使在体育Crypto领域,人们的目光仍然集中在FTX上。随着... -
简讯:前端单元测试,更进一步
前端测试@2022如果从2014年Jest的第一个版本发布开始计算,前端开发... -
焦点热讯:刘强东这波操作秀
近日,刘强东发布京东全员信,信中提到:自2023年1月1日起,逐步为...