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