欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

java 内部接口 内部类_Java的接口中中添加内部类,甚至实现外围接口的内部类,意义是什么?...

发布时间:2025/3/15 java 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java 内部接口 内部类_Java的接口中中添加内部类,甚至实现外围接口的内部类,意义是什么?... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

首先开篇第一句:An interface declaration introduces a new reference type whose members are classes, interfaces, constants, and abstract methods. This type has no implementation, but... ...

所以作者这句“Normally, you can't put any code inside an interface”注意是"Normally"。作者的本意应该是:内部成员的实现implementation不放在interface里。并不是说里面什么都不能有。什么都没有还怎么玩?

接着往下看,接下来说“字段”:Every field declaration in the body of an interface is implicitly public, static, and final.

interface里也是可以声明字段的。只不过都隐含public static final关键字。说明什么?是静态常量!

成员方法也是一样:Every method declaration in the body of an interface is implicitly public (§6.6).

Every method declaration in the body of an interface is implicitly abstract,

只能是抽象方法。

从头到尾,interface都在做一件事:去实例化。也就是interface内部可以有成员,但必须都是不依赖于对象实例而存在的。

所以套用到内部类来说,静态的套嵌类(nested class)就是允许的,因为它是static的。也不像普通内部类一样维护着一个指向外部类对象的指针。

简单来说,interface里不是什么都不能有。而是只能有static或者abstract的成员。更准确地说就是不依赖对象实例而存在的成员。

如果要问有什么用,一个什么都不能实现的interface里面,还能实现几个内部套嵌类,这不应该是广大程序猿的福音吗?

总结

以上是生活随笔为你收集整理的java 内部接口 内部类_Java的接口中中添加内部类,甚至实现外围接口的内部类,意义是什么?...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。