• Java中的内部接口


    什么是内部接口

    内部接口也称为嵌套接口,即在一个接口内部定义另一个接口。举个例子,Entry接口定义在Map接口里面,如下代码:

    public interface Map {
        interface Entry{
            int getKey();
        }
        void clear();
    }

    为什么要使用内部接口

    如下是一些强有力的理由:

    • 一种对那些在同一个地方使用的接口进行逻辑上分组;
    • 封装思想的体现;
    • 嵌套接口可以增强代码的易读性和可维护性;

    在Java标准库中使用内部接口的一个例子是java.util.Map和Java.util.Map.Entry。这里java.util.Map同样被当成命名空间使用。Entry并不属于全局作用域范围.

    内部类如何工作

    为了弄清楚内部接口是如何工作的,我们可以拿它与内部类作比较。内部类可以被认为是一个外部类内部定义的一个常规方法。因为一个方法可以被声明为静态和非静态,类似的内部类也可以被声明为静态和非静态。静态类类似于静态方法,它只能访问外部类的静态成员属性。非静态方法可以访问外部类的所有成员属性。

    因为接口是不能实例化的,内部接口只有当它是静态的才有意义。因此,默认情况下,内部接口是静态的,不能你是否手动加了static关键字。

    内部接口例子

    Map.java

    public interface Map {
        interface Entry{
            int getKey();
        }
        void clear();
    }

    MapImpl.java

    public class MapImpl implements Map {
        class ImplEntry implements Map.Entry{
            public int getKey() {
                return 0;
            }
        }
        @Override
        public void clear() {
            //clear
        }
    }

    译文链接

    http://www.programcreek.com/2013/08/inner-interface-in-java/

  • 相关阅读:
    结对项目刘畅2016012040
    Daily target小队介绍(刘畅,陈杰,杨有存,唐祎琳,王晓哲,邵汝佳)
    第四、十七章读书报告
    2016012040+小学四则运算练习软件项目报告
    JAVA之路(二)
    使用pip命令可能遇到的报错
    monkey命令
    Mitmproxy 手机配置代理
    appium安装与简单使用
    自动化测试第十一节---unittest
  • 原文地址:https://www.cnblogs.com/chenpi/p/5518400.html
Copyright © 2020-2023  润新知