接口
接口
接口就是一种规则,是对行为的抽象
接口的定义和使用
接口用关键字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 返回值类型 方法名(参数列表){}
普通的私有方法,给默认方法服务
静态的私有方法,给静态方法服务
方法的参数可以是接口,可以传递接口所有实现类的对象

浙公网安备 33010602011771号