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

java_oop_接口的更多相关文章

  1. App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  2. 干货来袭-整套完整安全的API接口解决方案

    在各种手机APP泛滥的现在,背后都有同样泛滥的API接口在支撑,其中鱼龙混杂,直接裸奔的WEB API大量存在,安全性令人堪优 在以前WEB API概念没有很普及的时候,都采用自已定义的接口和结构,对 ...

  3. 12306官方火车票Api接口

    2017,现在已进入春运期间,真的是一票难求,深有体会.各种购票抢票软件应运而生,也有购买加速包提高抢票几率,可以理解为变相的黄牛.对于技术人员,虽然写一个抢票软件还是比较难的,但是还是简单看看123 ...

  4. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  5. Java基础Map接口+Collections

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  6. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  7. 【WCF】自定义错误处理(IErrorHandler接口的用法)

    当被调用的服务操作发生异常时,可以直接把异常的原始内容传回给客户端.在WCF中,服务器传回客户端的异常,通常会使用 FaultException,该异常由这么几个东东组成: 1.Action:在服务调 ...

  8. PHP以接口方式实现多重继承(完全模拟)--学习笔记

     1.UML类图: 2.PHP代码: <?php /** * Created by PhpStorm. * User: andy * Date: 16-11-23 * Time: 下午7:57 ...

  9. 【微框架】Maven +SpringBoot 集成 阿里大鱼 短信接口详解与Demo

    Maven+springboot+阿里大于短信验证服务 纠结点:Maven库没有sdk,需要解决 Maven打包找不到相关类,需要解决 ps:最近好久没有写点东西了,项目太紧,今天来一篇 一.本文简介 ...

随机推荐

  1. LeetCode 57 插入区间

    题目: 给出一个无重叠的 ,按照区间起始端点排序的区间列表. 在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间). 示例 1: 输入: intervals ...

  2. centos7 eclispe 编译C++遇到的问题总结

    最近由于工作的需要,又开始回归之前已经遗忘了的技术.arm嵌入式这个古老的名词. 开始选择了linuxminit,开始的linuxminit17以前还可以,可是用了一下linuxminit19,发现r ...

  3. 微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱

    微信机器人 返现机器人 pc版本 移动版本 java开发 小范省钱 微信搜索微信号 fanli-x 或 扫描下方二维码,可查看效果. 非web版微信,pc/移动版微信 支持新号24小时 不封号! 有任 ...

  4. 课下作业——MyCP

    作业要求 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX2.bin 用来把文本文件(内容为 ...

  5. Sql Server 2012 集群配置

    基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 201 ...

  6. 为什么使用zookeeper?

    随着应用规模的迅速扩张,单台机器的部署已经难以支撑用户大规模.高并发的请求了, 因此服务化.集群化.分布式概念应运而生. 针对这种场景,人们通常使用的做法就是将软件按照模块进行拆分,形成独立的子系统, ...

  7. IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾

    IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾   前言:IntelliJ IDEA 如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是 ...

  8. L358 World Book Day

    World Book Day is celebrated by UNESCO and other related organisations every year on the 23rd of Apr ...

  9. 简单透析cookies,sessionStorage和localStorage

    首先大致说一下 1.sessionStorage是会话层的一种存储方式,当会话关闭或者退出,sessionStorage就会被清除,有效期较短 2.localStorage是浏览器提供的本地存储方式, ...

  10. python自动生成bean类

    近期在学习python,一直在和java做对比,目前没有发现有通过字段自动生成getter setter方法,故此自己写了一个类,可以通过__init__方法传入类名和字段数组,再调用内部的方法,就可 ...