接口,在java中是一种引用数据类型,里面主要有常量、抽象方法(jdk及以前)、默认方法和静态方法(jdk8)、和私有方法(jdk9)。接口是一系列方法的声明,是一些方法的特征集合,一个接口只要方法的特征而没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现类的方法具有不同的功能。
1.2接口的格式
使用interface来声明一个接口。
里面包含常量、抽象方法、静态方法、默认方法、私有方法,最主要的还是里面的抽象方法。
需要一个实现类来实现接口当中的所有抽象方法。
抽象方法
抽象方法定义格式:
public abstract void 抽象方法名称();
抽象方法使用abstract修饰,public abstract 可以省略,两个一起省略或者省略其中一个都是可以的(前期学习的时候建议不要省略),抽象方法没有方法体,
默认方法
默认方法定义格式:
public default void 默认方法名称(){
默认方法使用default关键字修饰,public可以省略不写,但default不能省略,默认方法主要给实现类(子类)覆盖重写或者调用。
静态方法
public static void 静态方法名称(){
静态方法使用static关键字修饰,public可以省略不写,静态方法只能接口来进行调用,不能通过实现类对象来调用,也不能被实现类所继承或者重写,静态方法只跟接口有关。
私有方法
private void 私有方法名称(){
private static 私有方法名称(){
私有方法分为:普通私有方法、静态私有方法。
私有方法使用private关键字修饰,供默认方法和静态方法使用。
1.3接口的实现
实现的概述
类与接口关系称为实现,即类实现接口,该类可以称为该接口的实现类,实现的动作与继承相仿,但实现类使用implements关键字,
实现类必须:
1.实现接口当中的所有抽象方法【必须】
2.继承或者重写接口当中的默认方法【可选】
实现类的格式:
public class 类名 implements 接口名称{
抽象方法的使用
定义测试类:
public interface LiveAble{
public abstract void eat();
puclic abstract void sleep();
public calss Animal implements LiveAble{
System.out.println("吃东西");
System.out.println("睡觉");
public class InterfaceDemo{
public static void main(String[] args){
Animal a = new Animal();
实现类必须实现抽象类当中的所有抽象方法,如果没有实现接口当中的抽象方法,那么实现类就必须是一个抽象类,应为抽象方法所在的类必须是一个抽象类,
默认方法
定义测试类:
继承默认方法 代码如下:
public interface LiveAble {
public default void fly(){
System.out.println("天上飞");
public class Animal implements LiveAble {
public class InterfaceDemo {
public static void main(String[] args) {
Animal a = new Animal();
覆盖重写默认方法 代码如下:
public interface LiveAble {
public default void fly(){
System.out.println("天上飞");
public class Animal implements LiveAble {
System.out.println("自由自在的飞");
public class InterfaceDemo {
public static void main(String[] args) {
Animal a = new Animal();
默认方法可以被实现类继承也可以被覆该重写。
静态方法
本文使用 文章同步助手 同步