java_oop_接口

接口
    难的是在系统设计里怎么样使用接口,主要在语法,不在系统架构与设计
    概念
    声明
    语法
    
    只有抽象方法的抽象类?可以用接口来表示,用接口来代替这样的抽象类,是因为:
    接口有比抽象类更好的特性
        可以被多继承(因为类是单根继承的)
        设计与实现完全分离(解耦)
        更自然的使用多态
        更容易搭建程序框架
        更容易更换实现
    接口是一种约定(具体是如何实现的,根据厂商的设计来)
        体现在接口名称和注释上
            有些接口只有名称
            方法的实现方式要通过注释来约定
        针对接口编程
            程序设计时针对接口的约定而不考虑具体实现
    接口是一种能力
        体现在接口的方法上
        针对接口编程
            程序设计时关心实现类有何能力,而不关心实现细节
            针对接口的约定而不考虑接口的具体实现
            
    接口声明的语法
        接口本身就是一个纯粹的抽象类
        <修饰符> [abstract] interface <接口名>{
        常量声明
        方法声明
        嵌套类型声明
        }
        接口是不能实例化的
        
        接口成员-方法
            抽象方法
            静态方法
            默认方法
        继承接口(接口继承接口)
            接口可以使用extends关键字
            
    实现接口
    接口的静态方法
    接口的默认方法
        
        一个类可以实现多个接口,用逗号分开就行了,实现所有的抽象方法
    
    解决冲突
    标记接口
        用于标记一个类在特定环境中具有特定的意义
        jdk中的标记接口
            java.lang.Cloneable
            java.io.Serializable
            java.rmi.Remote
        java5中引入的注解可以实现相同的功能
           

原文地址:https://www.cnblogs.com/createyuan/p/8434816.html