Java 接口

接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法 ——《Java编程思想》

  • 接口中的方法

按我们一般使用interface关键字的方式,interface用于申明一组方法,这些方法自动是public abstract的我们可以通过一些反编译工具,查看接口源码时看到:
在这里eclipse已经自动帮我们给出了方法f的修饰符,即它是public abstract的,但是源码中并没有显式申明,看起来好像是包访问权限和非抽象的,其实并不是。(我觉得这种自动补充修饰符的方式,对新手理解Java是不友好的,为啥不能限定必须写全了呢)

public
这里写图片描述

protected
这里写图片描述

default(包访问权限):
这里写图片描述

private
这里写图片描述

好了,既然接口里面的方法都是abstract的,辣么,它们都需要子类去实现(implements),即通过定义class的类名后跟implements关键字。
在类定义中实现这些方法的body。

这里写图片描述

  • 接口中的

那如果在接口里定义成员变量,会发生什么?
这里写图片描述
于是我在接口I里定义了FIELD变量,熟悉Java变量命名规范和eclipse代码高亮的童鞋早已看穿一切。对!字段是public static final的。

因为你放入接口中的任何域都自动是static final的,所以接口就成为了一种很便捷的用来创建常量组的工具。在Java SE5之前,这是产生与C或C++中的enum(枚举类型)具有相同效果的类型的唯一途径。
……
有了Java SE5,你就可以使用更强大而灵活的enum关键字,因此使用接口来群组常量已经显得没什么意义了。——《Java编程思想》

  • 再扯一下
    关于对接口中的方法体,续……
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值