java基础教程之接口
定义:接口就是多个类的共有规范(里面的抽象方法),是一种引用数据类型。
小提示:基本数据类型包括数值型(整数和浮点数)、字符型、布尔型。
格式:
public interface 接口名称{ //接口内容 }
备注:接口.java编译后仍然是接口.class
接口包含的内容:
java 7(1.常量 2.抽象方法) java 8(3.默认方法 4.静态方法) java 9(私有方法)
相关视频教程推荐:java视频教程
一、常量
常量类似接口的“成员变量”,必须加上public static final三个关键字修饰。
格式:
public static final 数据类型 常量名称 = 数据值;
注意:
1.三个关键字可以省略;
2.接口常量必须被复制;
3.接口中常量名称,使用完全大写字母,并用下划线隔开(MY_AGE)。
二、抽象方法
抽象方法的修饰符同样是固定的两个关键字`public abstract`(可以省略任一关键字);
抽象方法接口不能直接使用,必须有一个实现类去实现该接口,实现类必须覆盖重写(实现)接口内所有的抽象方法,否则这个实现类就成了抽象类(abstract)。
格式:
public class 实现类名称 iplements 接口名称{ //方法体 }
public abstract 返回值类型 方法名称(参数列表);
三、默认方法
接口的默认方法是用来解决接口升级的问题。
格式:
public default 返回值类型 方法名称(参数列表){ //方法体 }
使用:1、被接口实现类对象直接调用;2、可以被接口实现类进行覆盖重写。
四、静态方法
public static 返回值类型 方法名称(参数列表){ //方法体 }
静态方法使用直接是:接口名称.静态方法名(参数列表)。
五、私有方法
在接口中如果有多个默认方法(default)存在重复代码,可以定义一个共有方法解决,但是这个共有方法是属于这多个默认方法使用的,是私有化的不能让实现类使用。
1、普通私有方法(默认方法default)
private 返回值类型 方法名称(参数列表){ //方法体 }
2、静态私有方法(静态方法static)
private static 返回值类型 方法名称(参数列表){ //方法体 }
继承父类并实现多个接口:
1、接口不能有静态代码块;不能有构造方法;
2、一个类只能继承一个父类但是可以实现多个接口;
格式:
public class MyInterfaceImpl implements MyInterfaceA,MyInterfaceB{ //覆盖重写接口所有的抽象方法 //也可以重写接口内的默认方法 }
3、接口内存在两个或多个重名抽象方法时,实现一次就可以;
4、接口内存在两个或多个重名默认方法时,需要对这个默认方法进行重写;
5、一个类直接继承父类的方法和实现接口的方法重名时,继承关系优先于接口实现。
接口之间的多继承:
1.类与类时但继承;
2.类与接口是多实现;
3.接口与接口之间是多继承的。