接口

接口

接口就是一种规则,是对行为的抽象

接口的定义和使用

接口用关键字interface来定义

格式:public interface 接口名{}

接口不能实例化

接口和类之间是实现关系

通过implements关键字表示 -可以单实现,也可以多实现

格式:public class 类名 implements 接口名{}

接口的子类(实现类)-实现类可以在继承一个类的同时实现多个接口

使用了接口的子类要重写接口中的所有抽象方法,或者这个子类是抽象类

接口中成员的特点

成员变量

只能是常量

默认修饰符:public static final

成员方法

只能是抽象方法(JKD7以前,现在可以定义有方法体的方法和私有方法)

默认修饰符:public abstract

接口和接口之间是继承关系,可以单继承,也可以多继承

如果实现类实现了最下面的子接口,那就需要重写所有的抽象方法,例如:

public interface inter1 {
    public abstract void method1();
}
----------创建接口1-----------------
public interface inter2 {
    public abstract void method2();
}
----------创建接口2-----------------
public interface inter3 extends inter1, inter2 {
    public abstract void method3();
}
---------接口3继承接口1、2------------
    public class test implements inter3 {
    public static void main(String[] args) {
    }

    @Override
    public void method1() {
    }

    @Override
    public void method2() {
    }

    @Override
    public void method3() {
    }
}
----------------------------------------
    此时实现接口3,接口1和接口2中的方法都要重写

在接口定义默认方法,需要使用关键字default修饰

格式:public default 返回值类型 方法名(参数列表){}

默认方法不是抽象方法,可以不重写,如果重写要去掉default关键字

在接口中定义静态方法,需要用static修饰

格式:public static 返回值类型 方法名(参数列表){}

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

在接口中定义私有方法

此方法只为Inter接口提供服务,不需要外类访问

格式:

private 返回值类型 方法名(参数列表){}

private static 返回值类型 方法名(参数列表){}

普通的私有方法,给默认方法服务

静态的私有方法,给静态方法服务

方法的参数可以是接口,可以传递接口所有实现类的对象

posted @ 2023-03-06 22:25  陈等闲  阅读(97)  评论(0)    收藏  举报