接口嵌套 java
如果您已阅读介绍静态类和内部类的 Java 101 教程 ,则应该熟悉在Java代码中使用嵌套类的基础知识。 在此Java技巧中,您将学习将嵌套技术与Java接口一起使用的三种常见方法。 我还将简要演示带有静态方法的嵌套接口,也称为静态方法接口。
有关Java接口的更多信息
有关Java接口的介绍,包括类和接口之间的区别,请参阅Java 101教程“ 在Java中使用接口” 。
在类中嵌套接口
Java使您可以在类内部声明接口。 声明后,接口将自动成为该类的静态成员。 无需使用static
关键字声明接口。 考虑以下示例:
class EnclosingClass
{
interface EnclosedInterface1
{
}
static interface EnclosedInterface2
{
}
}
EnclosedInterface1
和EnclosedInterface2
是静态成员接口 。 没有等效于本地类的原因,因为不能在块中声明接口。 但是,可以在匿名类上下文中使用接口。
嵌套接口通常不能从其封装类之外访问。 否则,您可以将它们声明为顶级接口 。 而是从封闭的类内部对其进行访问,如下所示:
class EnclosingClass
{
interface EnclosedInterface1
{
}
static interface EnclosedInterface2
{
}
static class EnclosedClass1 implements EnclosedInterface1, EnclosedInterface2
{
}
class EnclosedClass2 implements EnclosedInterface1, EnclosedInterface2
{
}
void m()
{
class EnclosedClass3 implements EnclosedInterface1, EnclosedInterface2
{
}
new EnclosedInterface1()