接口
- 接口(英文:interface),在java编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。
- 接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内描述的所有方法,否则就必须声明为抽象类。
- 另外,在java中可以声明变量,他们可以成为一个空指针,或被绑定在一个依次接口实现的对象。
接口特性
- 接口中每一个方法都是隐式抽象的,接口中的方法会被隐式的指定为public abstract(只能是这个)
- 接口中可以有变量,会被隐式的指定为public stataic final 字段(只能是public)
- 接口中方法都是公有的。
- 接口可以多继承。
接口声明
(public) interface 接口名称 【extend 其他接口名】{
(public static final ) int a = 0;
(public abstract) void fun();
}
重写接口的方法,注意事项
- 类在实现接口是,不能抛出强制性异常,只能在继承接口中,或继承接口抽象类中抛出该强制性异常
- 类在重写是要保持一致的方法名,并且返回值类型保持相同或者相兼容。
- 如果实现接口的类是抽象类,那么没必要实现该接口的方法。
在实现接口时,注意事项
- 一个类可以实现多个接口
- 一个接口可以继承另一个接口,与类之间的继承比较相似
标记接口
最常用的继承接口是标记接口,既没有包含任何方法的接口。
- 定义:标机接口是没有任何方法与属性的接口。仅仅表名他的类属于一个特定的类型,供其他代码来测试允许做一些事情。
- 作用:简单来说就是给对象盖个戳,是对想拥有某个或者某些特权。
- 目的:
(1)建立一个公共父接口:
(2)向一个类型添加数据类型:这种情况是标记接口最初的目的,实现标记接口的类不需要定义任何接口的方法(因为根本没有可以实现的的方法),但是该类通过多态性变成一个接口类型。
注意
在 JDK1.8,允许我们给接口添加两种非抽象的方法实现:
- 默认方法,添加 default 修饰即可;
- 静态方法,使用 static 修饰;示例如下:
interface Test{
//条件是jdk1.8后
default String get(String aa){
System.out.println("默认方法");
return "";
}
static void staticmethod(){
System.out.println("静态方法");
}
}
网友评论