• 接口和抽象


    接口和抽象

    一、抽象类和抽象方法

    抽象类:

    1、使用abstract修饰

    2、抽象类不能被直接实例化,需要使用向上转型的方式,(多态),父类(抽象类)引用指向子类对象A  a=new B();

    3、抽象类中可以有常量、变量、属性、成员方法还有构造方法和静态方法以及抽象方法。(但是抽象方法只能存在抽象类中)

    4、抽象类中的抽象方法要在其子类中被实现

    5、抽象类是一个服务类,其成员变量以及成员方法都是为了给子类继承服务的,构造方法初始化这些成员变量也是为了继承给子类准备的。

    6、抽象类存在的意义就是成为子类的父类,被子类所继承,不然会编译报错

    抽象方法:

    1、       使用abstract修饰(在java8以前版本中接口的方法全都默认为抽象方法所以abstract可以省略)

    2、       抽象方法没有方法体,在抽象类中的抽象方法要被继承的子类实现(如果子类也是抽象类,则可以不实现所继承的抽象类父类中抽象方法)

    3、       构造、静态、私有、final修饰的,这些方法不能做为抽象类,不能用abstract声明为抽象类

     

    接口:

    1、       使用interface来修饰

    2、       接口也是抽象类,是特殊的抽象类(java8以前接口里的方法全部都是抽象方法,成员变量都是常量),它比抽象类还有更抽象

    3、       接口是一种规范,一种标准(接口的实现类都必须遵守这种规范)(在开发中,服务器端人员只需提供接口参数规范,开发人员按照这种接口的规范去开发,当服务器端开发好了,接口也开发好了,然后对接(整合),严格遵守接口规范有利于对接)

    4、       接口不能被直接实例化,需要使用向上转型的方式,(多态),父类(接口)引用指向子类对象 A  a=new B();

    5、       接口的子类叫做实现类,不使用extend 而是implement。

    (一个接口可以有多个实现类,一个类可以实现多个接口)

    6、       接口与接口之间是多继承,不可实现。(接口可以多继承接口)

    接口与实现类之间是单继承,多实现。(一个实现类可以实现多个接口)

    类和类遵守java的单继承,不可实现

    7、       接口不仅是一个规范,它还利用解耦合,扩展性好,所以现在都是面向接口编程。

    8、       如果子类不想实现接口,可以被重新定义成接口(接口与接口之间是多继承,不可实现的)

    9、从java8开始接口中可以存在静态方法以及dafult(默认不写)方法了

     

    作为新手小菜鸟的我,只想记录,便于温故知新,如有错误或疏忽,请留言,审查后改正,谢谢各位大佬
  • 相关阅读:
    Jqgrid 属性描述
    Log4Net 配置独立文件
    jqgrid中 colModel
    jqgrid jsonReader
    sql 分割字符串
    网页默认浏览器以IE那个版本查看
    objectc基础:property,assign,copy,retain,release
    Sending 'ccColor4B' (aka 'struct_ccColor4B') to parameter of incompatible type 'CIColor *'
    CCAnimate 和 CCAnimation
    什么时候用removeUnusedSpriteFrames和removeUnusedTextures
  • 原文地址:https://www.cnblogs.com/zhangsonglin/p/10506511.html
Copyright © 2020-2023  润新知