当前位置: 首页 > 科技观察

Java语言中接口的特点及继承相关知识浅析

时间:2023-03-13 21:08:41 科技观察

前面几篇文章用Java带大家了解Java的一些基础知识。有兴趣的朋友可以去学习一下。一篇带你了解Java类设计和类成员的封装和访问控制,一篇带你了解this关键字和单例模式,Java基础入门-面向对象和类定义,本文带你去学习Java知识下面我们来看看接口及其继承知识。一、接口继承1、定义一个接口,使用extends关键字继承另一个接口,这就是接口继承。2、语法:【修饰符】interface接口名extends父类接口1,父类接口2,...{定义0个或多个常量;define0ormoreabstractmethods;}3.如何实现接口的继承关系Example//定义Printer接口interfacePrinter{intmax_line=20;//定义全局常量voidprintRun();//定义抽象方法pirntRun()voidprintData();//定义抽象方法printData()}//定义Autoprinter接口,然后继承Printer接口interfaceAutoprinterextendsPrinter{//接口继承voidautoPrint();//定义抽象方法autoPrint()方法}//Colorprinter类实现Printer接口classColorprinterimplementsAutoprinter{//实现printRun()方法publicvoidprintRun(){System.out.println("彩色打印机正在启动");}//实现printData()方法publicvoidprintData(){System.out.println("彩色打印机正在打印");}//实现autoPrint()方法publicvoidautoPrint(){System.out.println("彩色打印机自动打印");}}publicclassp27{publicstaticvoidmain(String[]args){//TODO自动生成的方法stubColorprinterc=newColorprinter();//创建Colorprinter类的实例对象c.printRun();//调用Colorprinter类的printRun()方法c.printData();//调用Colorprinter类的printData()方法c.autoPrint();//调用Colorprinter类的autoPrint()方法}}输出结果为:彩色打印机正在启动彩色打印机正在打印彩色打印机正在自动打印来自上面的代码,首先是DefinethePrinter接口,定义了全局常量和printRun()和printData()两个方法,然后定义了一个Autopriner接口来继承Printer接口,然后Colorprinter类实现了Printer接口。此时Autopriner接口有3个抽象方法,通过Colorprinter类实例化对象然后调用相应的方法二、接口特点1、接口中的方法是抽象的,不能实例化对象。2、如果实现接口的类是抽象类,那么就没有必要实现接口的所有方法。对于这个抽象类的任何非抽象类的子类,都需要实现所有的抽象方法。3.一个类使用implements关键字实现多个接口例如://定义A接口interfaceA{intMAX=1;//定义全局常量voidtestA();//定义抽象方法testA()}//DefineBInterfaceinterfaceB{intMAX=2;//定义全局常量voidtestB();//定义抽象方法testB()}//定义一个类来实现A,B接口classCimplementsA,B{最大整数=3;//定义全局常量//实现testB()方法@OverridepublicvoidtestB(){//TODO自动生成方法stubSystem.out.println("IamB");}//实现testA()方法@OverridepublicvoidtestA(){//TODO自动生成的方法存根System.out.println("IamA");}}publicclassp28{publicstaticvoidmain(String[]args){//TODO自动生成方法存根Cc=newC();//创建类C实例对象c.testA();//调用testA()C类的方法c.testB();//调用C类的testB()方法}}运行结果为:我是A,我是B。从上面的代码可以看出A和B的接口定义好了,在类C中使用implements关键字实现A和B接口的方法,实例化对象并调用相应的方法。4、一个接口使用extends关键字实现多个接口。例如://定义A接口interfaceA{intMAX=1;//定义全局常量voidtestA();//定义抽象方法testA()}//定义B接口interfaceB{intMAX=2;//定义全局常量voidtestB();//定义抽象方法testB()}//定义接口继承A,B接口interfaceCextendsA,B{intMAX=3;//DefineglobalconstantvoidtestC();//DefinetestC()method}publicclassp29{publicstaticvoidmain(String[]args){//TODO自动生成的方法存根System.out.println(A.MAX);System.out.println(B.MAX);System.out.println(C.MAX);}}运行结果为:1235,类实现接口的抽象方法时,需要使用相同的方法头。6.如果实现接口的类不是抽象类,那么类的定义部分需要实现指定接口的所有抽象方法。3.小结本文主要介绍了接口的继承和接口的特点。接口继承就是定义一个接口,使用extends关键字继承另一个接口。我们将通过如何实现接口继承的示例来帮助您理解这种用法??。一个类使用implements关键字实现多个接口,一个接口使用extends关键字实现多个接口。希望本文的学习对您有所帮助!