java_oop_接口

时间:2022-12-24 07:25:42

接口
    难的是在系统设计里怎么样使用接口,主要在语法,不在系统架构与设计
    概念
    声明
    语法
    
    只有抽象方法的抽象类?可以用接口来表示,用接口来代替这样的抽象类,是因为:
    接口有比抽象类更好的特性
        可以被多继承(因为类是单根继承的)
        设计与实现完全分离(解耦)
        更自然的使用多态
        更容易搭建程序框架
        更容易更换实现
    接口是一种约定(具体是如何实现的,根据厂商的设计来)
        体现在接口名称和注释上
            有些接口只有名称
            方法的实现方式要通过注释来约定
        针对接口编程
            程序设计时针对接口的约定而不考虑具体实现
    接口是一种能力
        体现在接口的方法上
        针对接口编程
            程序设计时关心实现类有何能力,而不关心实现细节
            针对接口的约定而不考虑接口的具体实现
            
    接口声明的语法
        接口本身就是一个纯粹的抽象类
        <修饰符> [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接口&plus;Collections工具类

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

  5. Java基础Map接口&plus;Collections

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

  6. java基础&lowbar;集合List与Set接口

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

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

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

  8. PHP以接口方式实现多重继承&lpar;完全模拟&rpar;--学习笔记

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

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

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

随机推荐

  1. DELPHI出现无法加载dclite50&period;bpl的解决办法&lpar;转)

    现象: Borland Integrated Translation Environment 加载出错 解决办法: 我的电脑--->(鼠标右键)属性--->高级--->(性能)设置- ...

  2. GUI、GUILayout、EditorGUI、EditorGUILayout

    GUI GUI.BeginGroup(rect) //在里面画的控件,将以这个GroupRect的左上角为原点,仅此而已 GUI.EndGroup() GUILayout GUILayout.Begi ...

  3. PHP练习题&lpar;一&rpar;

    程序1 .题目: 企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10% : 利润高于10 万元, 低于20 万元时, 低于10万元的部分按10% 提成,高于 10万元的部分,可提 ...

  4. python之路-SQLAlchemy

    SQLAchemy SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行S ...

  5. Python命令行参数sys&period;argv&lbrack;&rsqb;

    学习C语言的时候就没弄明白命令行参数的用法,在学习Pyton 的时候又遇到了命令行参数,在这里稍微学习了一下,稍微明白了一些在这里做个记录方便后面回顾复习. Sys.argv[]是用来获取命令行参数的 ...

  6. Socket在手机上的应用

    usb读取:pid vid --可以唯一的确定设备获取手机驱动socket固定端口通信 wifipc机在局域网内,udp的数据包(整个网段) 蓝牙配对 bluetoothsocket 如果放大:可以分 ...

  7. Flask入门之开发简单登陆界面

    涉及知识点: render_template() redirect():注意def的函数不要使用这个Python关键字 url_for():可以传参数给动态路由 动态路由 # Sample.py fr ...

  8. C&num; fckeditor添加上传附件功能

    最近在维护系统时,要把fckediotr加上上传附件功能,好久没有用fckeditor了,现在都已经改名字,不叫这个了. 修改统计器下面的fckconfig.js,方法如下: 1.把FCKConfig ...

  9. servlet乱码 解决方法 2种方法

    public class ResponseDemo1 extends HttpServlet { public void doGet(HttpServletRequest req, HttpServl ...

  10. tab栏切换fengz

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...