接口:是Java语言中的一种引用类型,就是方法的集合。
如果说类的内部封装了成员方法变量、成员方法和构造方法,那么接口的内部主要封装的是方法
包括:抽象方法(jdk1.7及以前的)、默认方法和静态方法(jdk1.6),私有方法(jdk1.9)
接口的定义:
使用interface关键字,编译生成class类文件,但是它不是由class声明,
而是由interface关键字修饰的这样的一种类,属于另外一种引用数据类型。
备注:引用类型:数组、类(String字符串)、接口
接口的使用:它不能创建对象,但是可以被实现(implements,类似于被继承)
一个实现接口的类(可以看作是子类),需要实现接口中所有的抽象方法,创建该类对象,就可以调用该方法,
否则它必须是抽象类。
定义格式:
public interface InterfaceName{
//jdk1.8版本
//抽象方法
//默认方法
//静态方法
//私有方法(高于jdk1.8版本)
}
抽象方法:使用abstract关键字修饰,在接口中可以省略不写,没有方法体。工资类使用。
默认方法和静态方法:
默认方法:使用default修饰,不可省略,供子类调用或者子类重写。
静态方法:使用static修饰,供接口直接调用。
含有私有方法和私有静态方法:
私有方法:使用private修饰,供接口中的默认方法或者静态方法调用。
基本实现:
类与接口的关系称为实现关系,该类就是接口的实现类,也可以称为该接口的子类,实现的动作类似于继承。
格式相仿,关键字不同,实现使用的是implements关键字。
非抽象类实现接口:
1.必须重写接口中的所有的抽象方法;
· 2.继承了接口的默认方法,既可以直接调用,也可以重写。
实现格式:
public class ClassName implements InterfaceName{
//重写接口中的抽象方法【必须】
//重写接口中的默认方法【可选】
}