更彻底的抽象:接口

接口里不能包含普通方法,接口里的所有方法都是抽象方法。

接口是从多个相似类中抽象出来的规范,接口不提供任何实现。接口体现的是规范和实现分离的设计哲学。

接口定义:
[修饰符] interface 接口名 extends 父接口1,父接口2...
{
   零个到多个常量定义...
   零个到多个抽象方法定义...
}

  • 修饰符可以是public或者省略,如果省略了public访问控制符,则默认采用包权限访问控制符,即只有在相同包结构下才可以访问该接口。
  • 接口名应与类名采用相同的命名规则,即如果仅从语法角度来看,接口名只要合法的标识符即可;
  • 一个接口可以有多个直接父接口,但接口只能继承接口,不能继承类

由于接口定义的是一种规范,因此接口里不能包含构造器和初始化块定义。接口里可以包含Field(只能是常量),方法(只能是抽象实例方法)、内部类(包含内部接口、枚举)定义。

接口里的Field只能是常量,接口里的方法只能是抽象方法。

只能是public的访问修饰权限。

系统自动为接口里定义的Field增加public static final修饰符。
int MAX_SIZE = 50; 等价如下定义
public static final int MAX_SIZE = 50;

对于接口里定义的方法而言,他们只能抽象方法,因此系统会自动为其增加abstract修饰符;由于接口里的方法全部是抽象方法,因此接口里不允许定义静态方法,即不可以使用static修饰接口里定义的方法。

不管定义接口里方法时是否使用了public abstract 修饰符,接口里的方法总是使用public abstract来修饰。

接口里定义的内部类,接口,枚举类默认都采用public static 两个修饰符,不管定义时是否指定这两个修饰符,系统都会自动使用public static对他们进行修饰。

转载于:https://www.cnblogs.com/haiwei_sun/articles/3379769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值