java进阶学习6—接口、多态

接口  多态

I 接口

一、接口概述

1、定义:一个类中所有方法均为抽象方法时, 将该类定义为接口

2、辨析接口与抽象类:抽象类不一定有抽象方法,接口所有方法均抽象方法(也有编写非抽象方法的途径)

3、类型:接口是引用数据类型,比抽象类更抽象

4、接口存在意义:(1)规则的定义(2)程序的扩展性    (类比理解USB接口)

5、格式和特点:

(1)通过interface关键字定义,格式:public interface 接口名{}

(2)接口不能实例化(不能创建对象)

(3)接口和类是实现关系,通过关键字implements实现,实现类格式:public class 类名 implements 接口名(){}  类名规则:接口名+impl

(4)实现类是接口的子类,它要么是抽象类,要么重写接口中所有抽象方法

二、接口构造方法以及成员

1、构造方法:接口没有构造方法

2、成员变量:只能是常量,默认修饰符:public static final

3、成员方法:只能是抽象方法,默认修饰符:public abstract(jdk8和jdk9中做出升级)

三、JDK8版本之后接口成员特点

1、允许在接口中定义非抽象方法,用default修饰,这些是默认方法(解决接口升级的问题)

2、接口中允许定义static静态方法

3、默认方法定义格式:public default 返回值类型 方法名(参数列表){}

note:

(1)默认方法不是抽象方法,不强制被重写,如需要重写去掉关键字default

(2)public可以省略,default不能省略

(3)如实现多个接口,多个接口中出现相同的方法声明,子类必须重写该方法

4、静态方法定义格式:public static 返回值类型 方法名(参数列表){}

note:

(1)静态方法只能通过接口名调用,不能用实现类名或者对象名调用

你可能感兴趣的:(java)