第十章:接口

一、接口

        1. 接口:是一种标准,接口的实现者和使用者必须遵循的约定

        2. 接口的语法:

                (1)接口的关键字:interface

                (2)语法:

                                interface 接口名{ }

                (3)接口不能创建对象,但是可以声明引用

                (4)接口中不能定义构造方法

                (5)接口中所有属性为公开、静态、常量(默认被public static final修饰)

                (6)接口中所有方法位公开抽象方法(默认被public asbtract修饰)

二、接口的实现类

        1.语法:

                class 类名 implements 接口名{ }

        2.注意:

                (1)如果实现类不想成为抽象类,需要覆盖接口中所有的方法

                (2)实现类覆盖接口中方法时,访问权限必须是public

        3. 使用:

                        接口名 引用名 = new 实现类类名();

                         / / 父类型                子类型

                         / / 接口                    实现类        ->    体现多态

三、接口的继承性

        1. 接口与接口之间是多继承

                interface 接口1 extends 接口2 ,接口名3{ }

             注意1:Java中的接口与接口是多继承,一个接口同时可以继承多个父接口;

             注意2:如果实现类不想成为抽象类,需要覆盖所有接口中抽象方法(包括接口的父接口)

        2.接口和类之间为多实现

                (1)一个类可以同时实现多个接口

                (2)语法:

                                class 类名 implements 接口名1,接口名{ }

                                abstract class 类名 implements 接口名1,接口名{ }

                (3)注意:如果实现类不想成为抽象类,需要覆盖所有接口中抽象方法

        3.一个类可以继承一个父类型的同时实现多个接口

                (1)语法:

                                class 类名 extends 父类名

                                implements 接口1,接口名2{ }

                (2)注意:必须是继承在前,是现在后

四、接口的影响

        1.由于接口与之间的多继承性和接口与类之间的多实现性,让多态的应用更加多样性

        2. 以接口类型的引用调用属性和方法时,只能调用该接口中定义的相关内容

五、JDK高版本接口语法补充

        1.jdk8.0+

                (1)提供了默认方法:

                                a. default 返回值类型 方法名(形参){ }

                                b. 默认方法可以有方法的实现部分

                                c. 默认方法的访问权限默认为public

                                d. 默认方法时允许被覆盖,覆盖的时候,访问权限必须是public

                (2)提供的静态方法:

                                a. static 返回值类型 方法名(形参){ } 

                                b. 静态方法可以有方法的声明部分

                                c. 静态方法的访问权限默认为public

                                d. 使用:接口名 . 静态方法名(实参);

        2. jdk9.0+

                (1)提供了私有方法:

                (2)语法:

                                private 返回值类型 方法名(形参){ }

                (3)接口中的私有方法也是可以带有方法的实现部分

六、接口的分类

        1. 常量接口:接口中只有静态常量,没有定义任何方法,应用不广泛

        2. 标记接口:空接口,接口中没有定义任何的属性和方法

                        interface IA { }

        3. 普通接口:具有至少一个抽象方法的接口

        4. 函数式接口:接口中只有一个抽象方法,对静态方法和默认方法没有要求。[ 开发重点 ]

                interface IA {

                        void m1();

                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值