一、接口的继承

创新互联于2013年开始,先为海拉尔等服务建站,海拉尔等地企业,进行企业商务咨询服务。为海拉尔企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
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 stub
 - Colorprinter 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()方法
 - @Override
 - public void testB() {
 - // TODO Auto-generated method stub
 - System.out.println("我是B");
 - }
 - //实现testA()方法
 - @Override
 - public void testA() {
 - // TODO Auto-generated method stub
 - System.out.println("我是A");
 - }
 - }
 - public class p28 {
 - public static void main(String[] args) {
 - // TODO Auto-generated method stub
 - C c=new C();//创建C类实例对象
 - c.testA();//调用C类的testA()方法
 - c.testB();//调用C类的testB()方法
 - }
 - }
 
运行的结果是:
从上面代码中,定义了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 stub
 - System.out.println(A.MAX);
 - System.out.println(B.MAX);
 - System.out.println(C.MAX);
 - }
 - }
 
运行的结果是:
- 1
 - 2
 - 3
 
5.一个类在实现某接口的抽象方法,就需要使用一样的方法头。
6.如果实现某接口的类不是抽象类,那么类的定义部分需要实现指定接口的所有抽象方法。
三、总结
本文主要介绍了接口的继承和接口的特点。
接口的继承是定义一个接口使用extends关键字来继承另一个接口,通过如何实现接口的继承例子来帮助大家的理解这个用法。
一个类使用implements关键字实现多个接口,一个接口使用extends关键字实现继承多个接口。
本文转载自微信公众号「Java进阶学习交流」,可以通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。
                当前文章:浅析Java语言中接口的特点和继承
                
                本文路径:http://www.csdahua.cn/qtweb/news2/802.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网