首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >接口中的代码实现

接口中的代码实现
EN

Stack Overflow用户
提问于 2013-08-29 18:38:08
回答 3查看 140关注 0票数 0

我一直在想,当接口被假定不包含代码实现时,为什么允许它在接口中执行代码实现:

代码语言:javascript
复制
public interface someInterface{
String someString = "example";   
}

我可以让一个类实现这个接口,而不会出现错误:

代码语言:javascript
复制
public class someClass implements someInterface

怎么会这样?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-29 18:39:41

您可以在接口中声明常量,这就是您所做的。您尚未实现代码。

接口中声明的变量被隐式声明为public static final

JLS,第9.3节涵盖了以下内容:

接口主体中的每个字段声明都是隐式的公共、静态和最终的。允许冗余地为这些字段指定任何或所有这些修饰符。

票数 8
EN

Stack Overflow用户

发布于 2013-08-29 18:39:31

没有严格的条件,一个接口必须有签名的methods.Remember,在java中也有标记接口。

其次,您可以在接口中声明变量。

以及在一个someString中分配的变量static context,并由该interface在所有implemntations之间共享。

要点是声明interface中的变量是隐式的static,final.You可以使用它们。

票数 0
EN

Stack Overflow用户

发布于 2013-08-29 18:43:40

根据java文档

接口形成类与外部世界之间的契约,此契约由编译器在构建时强制执行。如果您的类声称要实现接口,则该接口定义的所有方法必须在该类成功编译之前出现在其源代码中。

在这里,您没有为implement.So定义任何方法,您在这里没有收到任何错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18518643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档