JavaOO 接口
接口:
接口的提出是为了让没有继承关系的类也可以共享行为
接口是一种引用数据类型
属性:接口里面的属性只能是公共的静态常量属性,就算不写public、static、final也是如此
public static final int A = 100;
行为:接口不能有构造,说明接口不能产生对象
方法:接口的方法只能是公共抽象方法,就算不写public\abstract关键字也是如此
通过implements关键字实现接口
接口与类在以下方面想似:
1、接口可以有任意数量的方法
2、接口保存为”.java“为后缀名的文件,接口名需要与文件名匹配
3、接口编译后是后缀名为“.class“的字节码文件
4、在包中的接口,其相应的字节码文件必须放置在和包名称相匹配的一个目录结构中
接口与类的不同之处:
1、接口不能被实例化
2、接口不包含任何构造器
3、接口中的所有方法都是抽象的
4、接口中不能包含实例成员变量。唯一可以出现在接口中的成员变量必须是同时声明为static和final
5、接口不能被一个类继承,只能被一个类来实现
6、一个接口能够继承多个接口
接口的声明:
使用关键字interface
public interface 接口名{
任意数量的final ,static成员变量
任意数量的抽象方法声明
}
接口具有下列性质:
1、接口默认是抽象的。在声明接口时不需要使用关键字abstract
2、接口中的每一个方法默认也是抽象的,所以也不需要关键字abstract
3、接口中方法默认访问级别为public
实现接口的类:
1、实现接口中定义的所有方法
2、声明自己为抽象类
类使用关键字implements来实现接口。
语法格式为:
public class 类名 extends 父类名 implements 接口名
接口的引用可以指向实现