有关java里面的interface不解?

为什么interface不能有构造器和初始化语块,而且Field必须是publicstaticfinal类型,方法必须是publicstatic类型?... 为什么interface不能有构造器和初始化语块,而且Field必须是public static final 类型,方法必须是public static 类型? 展开
 我来答
百度网友21647e5fc
2014-03-22 · TA获得超过709个赞
知道小有建树答主
回答量:149
采纳率:100%
帮助的人:145万
展开全部

语法方面我想你自己已经清楚了,只是不明白为什么要这么设计。

所以我从interface的设计目的来说。


从interface的作用和目的来说:

  1. interface的作用是定义一个接口,定一个规范。当然它只是一个规范,是给别人去遵守的,具体的还需要别人去执行,去遵守。就类似制定法律和执行法律的人不能是同一个人一样这个道理。

  2. 既然interface要别人来遵守(实现),那么interface就必须要暴露出来,给大家看到。就必须是可以被继承和访问的。所以必须为public。

  3. 因为interface只是规范,自己无法实现,所以也就没必要有构造器。不能有初始化代码块也是这个道理。

  4. 既然是规范,那么就不能被随意修改。所以field是final的。但是方法是需要子类来实现的,所以又不能是final的,因为子类要实现的话就会涉及到重载。重载就相当于修改了interface的方法。

  5. interface严格来说也是一个类,并且不能实例化,但是又要能被外部访问,所以必须为static的。

敖忻慕0jI734
2014-03-22 · TA获得超过201个赞
知道小有建树答主
回答量:140
采纳率:100%
帮助的人:74.3万
展开全部
interface是一个接口,你只要记住接口里面只有一些方法和常量的定义,没有具体的代码实现就可了。里面的方法不一定是public static类型的,但是全部都是抽象方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l1334388165
2014-03-22
知道答主
回答量:35
采纳率:0%
帮助的人:16.1万
展开全部
有些就是固定的,你就接受它,利用它来开发。
追问
可是不明白,感觉怪怪的,记不住
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式