java - 类中的内部接口(interface)

标签 java class interface

我的代码如下,我的问题是第 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/

相关文章:

java - org.apache.hadoop.hbase.MasterNotRunningException

java - 学习接口(interface)和层次结构,在哪里放置某些变量和方法?

typescript - 使用装饰器为接口(interface)属性添加元数据

java - 如何在 avro 模式中指定时间戳

java - 关于指针在 Iterator 接口(interface)迭代的列表中的初始位置的混淆

java - 管理作业调度程序从 Java 应用程序安排时间

c++ - 扩展 Eigen Ref 类

Python Class() 没有参数错误。我正在使用 self

java - 如果包含来自另一个目录的包,如何识别类

java - 标记界面还是注解?