接口

接口的概述

电脑上面的主板有很多接口,比如内存条的接口,有了这个接口,可以插入多个内存条,主板和内存条可能不是同一家生产厂商,但是两种物体却能结合到一起,正是因为这个接口的存在。只要厂家遵循这个接口,主板和内存条就可以随意更换,提高了可插拔性,接口其实也是体现着一种规范。

在java语言里面使用interface来声明一个接口,接口其实是一个特殊的抽象类,在接口里面的方法全部都是抽象的。

关于接口,有几个需要注意的地方:

接口中只能出现常量和抽象方法(jdk8之后可以有default方法)

接口里面没有构造方法,无法创建接口的对象

接口和接口之间支持多继承,即一个接口可以有多个父接口

一个类可以实现多个接口,即一个类可以有多个父接口

一个类如果实现了接口,那么这个类需要重写接口中所有的抽象方法(建议),如果不重写则这个类需要声明为抽象类(不建议)


public interfaceA{

    //常量(必须用public static final修饰)    public static final double PI = 3.14;

    //public static final是可以省略的.    //double PI = 3.14;    //抽象方法(接口中所有的抽象方法都是public abstract)    publicabstractvoidm1();

    //public abstract是可以省略的.    voidm2();

}interfaceB{

    voidm1();

}interfaceC{

    voidm2();

}interfaceD{

    voidm3();

}interfaceEextendsB,C,D{

    voidm4();

}//implements是实现的意思,是一个关键字.//implements和extends意义相同。classMyClassimplementsB,C{

    publicvoidm1(){}

    publicvoidm2(){}

}


接口的作用

    可以使项目分层,都面向接口开发,提高开发效率

    降低了代码之间的耦合度,提高了代码的可插拔性

开发中尽量使用接口,少用抽象类,一个类可以实现多个接口,却只能继承一个父类

将之前的james开汽车的例子修改一下

将Car定义为接口

interface Car {

    publicvoidrun();

}


创建Benz和BMW类去实现这个接口

classBenzimplementsCar{

    publicvoidrun(){

        System.out.println("奔驰汽车在跑");

    }

}classBMWimplementsCar{

    publicvoidrun(){

        System.out.println("宝马汽车在跑");

    }

}


Person类不变

class Person {

    publicvoiddrive(Car c){

        c.run();

    }

}


测试类不变

public class Test01 {

    publicstaticvoidmain(String[] args){

        Person james = new Person();

        Benz bc = new Benz();

        //james.drive(bc);        //BMW bm = new BMW();        james.drive(bc);

    }

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 多态简介 多态就是事物存在的多种形态,比如你在大街上看见一只藏熬,你可以说这只藏獒真凶猛,也可以说这只狗真凶猛,还...
    浅笑未央人自笑_自知阅读 975评论 0 0
  • 1. 抽象类及其作用 抽象类,顾名思义,即类的抽象。 在介绍面向对象概念时,我们知道类是客观事物的抽象,而抽象类又...
    coderljx阅读 3,904评论 0 0
  • 接口 接口的概述 电脑上面的主板有很多接口,比如内存条的接口,有了这个接口,可以插入多个内存条,主板和内存条可能不...
    java萌新小白阅读 1,586评论 0 0
  • 接口的概述 电脑上面的主板有很多接口,比如内存条的接口,有了这个接口,可以插入多个内存条,主板和内存条可能不是同一...
    恶心_3da6阅读 33评论 0 0
  • 接口的概述 电脑上面的主板有很多接口,比如内存条的接口,有了这个接口,可以插入多个内存条,主板和内存条可能不是同一...
    江北执_阅读 891评论 0 0