我的代码如下,我的问题是第 1 行的含义 是什么,如果没有含义那么为什么 eclipse 允许 infact 在键入 ClassO 时将内部作为可用选项。
如果内部是一个静态嵌套类而不是内部接口(interface),那将是有意义的如果它有意义那么有什么用,我能用它做什么?
public class InterfaceInsideClass
{
public static void main(String[] args)
{
ClassO.inner **// Line 1**
}
}
class ClassO
{
interface inner
{
void msg();
}
class Two implements inner
{
public void msg()
{
System.out.println("Class Two");
}
}
class Three
{
public void msg()
{
System.out.println("Class Three not implementing interface but having same method");
}
}
static class Four
{
public void msg()
{
System.out.println("Class Four");
}
}
}
最佳答案
一个关于静态嵌套类和嵌套接口(interface)最常见的用途是进行另一层包装。
如果特定接口(interface)仅旨在通过其内部或嵌套类在特定类或其子类中实现,那么将该接口(interface)包含在这些类中是有意义的。
很好的例子是:java.util.Map.Entry
。
关于java - 类中的内部接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47800821/