为何要有内部接口

如果你有一个类Foo和你希望其他类能够监听它的事件,你可以再另外声明一个叫FooListener的接口,需要监听Foo类的的那个类就必须要实现这个接口,但如果声明为内部接口可能会更加明确,这个接口与这个类的关系更紧密,更符合逻辑,容易维护与封装。
我自己的理解,有如下一种情况,你设计了一个抽象类,里面有属性,有方法还有抽象方法。正如你所知的,抽象类是不能被实例化的,这个时候,你又要在一个类中包含抽象方法,又要这个类被实例化,那怎么办呢?就只能使用内部接口把这些抽象类封装起来。
那么,使用了内部接口的类具备如下特点:
1. 可以直接被实例化
2. 其子类如果不明确声明implements内部接口,可以不用实现内部接口
显然这种做法的实际使用意义并不大我个人也感觉这只是为了使得语义更加明确罢了

时间: 2024-12-12 05:15:15

为何要有内部接口的相关文章

【Simple Java】Java中的内部接口

什么是内部接口 内部接口也称为嵌套接口,即在一个接口内部定义另一个接口.举个例子,Entry接口定义在Map接口里面,如下代码: public interface Map { interface Entry{ int getKey(); } void clear(); } 为什么要使用内部接口 如下是一些有一些强有力的理由: 一种对那些在同一个地方使用的接口进行逻辑上分组: 封装思想的体现: 嵌套接口可以增强代码的易读性和可维护性: 在Java标准库中使用内部接口的一个例子是java.util.

Java:内部接口

1.什么是内部接口 内部接口也称为嵌套接口,即在一个接口内部定义另一个接口.举个例子,Entry接口定义在Map接口里面,如下代码: public interface Map { interface Entry{ int getKey(); } void clear(); } 2.为什么要使用内部接口 如下是一些强有力的理由: 一种对那些在同一个地方使用的接口进行逻辑上分组: 封装思想的体现: 嵌套接口可以增强代码的易读性和可维护性: 在Java标准库中使用内部接口的一个例子是java.util

tengine lua 开源一 调用内部接口高效发送文件

tengine  lua 开源一 调用内部接口高效发送文件 开源自己封装的sendfile 模块,可以高效的通过lua发送文件 源码地址:https://github.com/weinyzhou/Lua-sendfile 调用方法 local sendfile=require "sendfile"; sendfile.call(filename,-1,-1); 第一个参数文件名, 第二个参数开始位置 第三个参数长度

Java内部类和内部接口

内部类定义 将一个类的定义放在另一个类的内部. 这就是内部类. 内部类依赖外部类存在. 内部类访问访问权限 public:访问不受限制. protected:访问仅限于包含类或从包含类派生的类型.只有包含该成员的类以及继承的类可以存取. protected internal:访问仅限于当前程序集或从包含类派生的类型. private:访问仅限于包含类型.只有包含该成员的类可以存取. 内部类种类 静态内部类static inner class (also called nested class)

关于类中定义的内部接口

首先举一个简单的例子,如果你想实现一个接口,但是这个接口中的一个方法和你构想的这个类中的一个方法的名称,参数相同,你应该怎么办?这时候,你可以建一个内部类实现这个接口.由于内部类对外部类的所有内容都是可访问的,所以这样做可以完成所有你直接实现这个接口的功能.不过你可能要质疑,更改一下方法的不就行了吗?的确,以此作为设计内部类的理由,实在没有说服力.真正的原因是这样的,java中的内部类和接口加在一起,可以的解决常被C++程序员抱怨java中存在的一个问题 没有多继承.实际上,C++的多继承设计起

Java语法之内部接口的学习 —— What Is Inner Interface in Java?

What is Inner Interface in Java? Inner interface is also called nested interface, which means declare an interface inside of another interface. For example, the Entry interface is declared in the Map interface. public interface Map { interface Entry{

java 类内部定义接口

java类内部可以定义接口,作用可以看作是对类功能的进一步补充,类里面包含两部分:一部分是自己的固定的,一部分是可以变化的,而这可变的部分就编程了一个接口. 另一个作用是避免命名冲突. 示例 类Fruits内部存在接口Apple public class Fruits { public interface Apple { public String info(); } } 通过匿名内部类方式实现Fruits类中的Apple接口 public class Test { public static

java中接口中成员的定义

java中的接口的作用是提供编程框架,它作为统一的规范让其他类进行扩展,是java中非常优秀的设计. 这娃用以下代码总结了java中接口可以定义的成员以及它们默认被修饰的关键字: //外部接口的访问修饰符只能是public或默认修饰符 ,并且它的成员只能用public访问修饰符修饰, 接口不能用final修饰 public interface A { //成员变量,默认用public static final 修饰 String name="ahei"; //成员方法,默认用publi

[php] 编写接口的规范

一. 接口按请求人可以分为两种: 一种是被其他内部项目调用的接口(包括js异步请求的接口和定时程序). 另一种是对外的接口,主要提供给外部开发者调用的. 两种接口最大区别就是,内部接口不需要太严格的身份验证,而对外接口需要严格的身份验证,加密解密方式各种各样,其中最常见最简单的就是http basic验证,例如我们的大后台弹出的账号和密码弹窗 就是用了basic验证,输入账号和密码才能通过验证.但是如果内部接口涉及到重要的操作,不希望被他人恶意请求的话,还是要做一点加密验证的. 二. 无论是哪一