zoukankan      html  css  js  c++  java
  • Java:抽象类与接口

    程序设计中的抽象

    • 表达一种概念而非实体
    • 在一定程度上忽略细节而着眼大局(设计父类)

    抽象类

    • 使用关键字abstract修饰
    • 抽象类的作用仅仅是表达接口,而不是具体的实现细节
    • 抽象类无法制造出对象,但可以定义变量,存放非抽象子类的对象

      抽象方法
      • 抽象类中可以存在抽象方法。抽象方法也是使用abstract关键字来修饰
      • 抽象的方法是不完全的,它只是一个方法签名而完全没有方法体
      • 存在抽象方法的类即成为抽象类
    • 他的子类必须重写所有抽象方法,否则自身也成为一个抽象类

    • 可以定义没有抽象内容的抽象类,防止制造该类的对象

    接口

    • 接口是一种更抽象的纯抽象类
    • 所有方法均为抽象方法
    • 所有变量均为public static final
    • 接口不能实现(implements)另一个接口,但它可以继承多个其它的接口
    • 接口中的所有抽象方法为public

    把类与接口分开来看,即不把接口视为一种类
    - 类实现接口:实现所有抽象方法
    - 接口继承接口:表明当前类(接口)也拥有继承来的所有抽象内容
    即用于制造对象的类实现不了继承接口的意义,只有接口继承接口才有意义,继承接口后重写所有抽象方法即是实现接口,否则本身成为抽象类。(继承或许可以用来获得接口的类变量

    接口是一种间接的多继承继承中得到了父类方法的实现,继承(实现)接口只得到方法的存在性,Java通过单继承类,多实现接口,来达到受限制的多继承效果

    当用一个接口类型的变量管理一个实现该接口的类时,只能调用到接口类的方法,即是接口类型是该变量的动态类型,符合造型的概念,因此接口符合类的概念

    接口用来沟通不相容的类,使之产生恰当的关系

    接口是更高级别的抽象 比如体现在 接口中的变量必须为(也默认为)public static final
    方法必须为public
    接口不能继承纯抽象类。Java 规定接口只能继承接口 接口存在的意义 提供更高级别的抽象 对实现方法开放 对修改关闭

    2018/7/20

  • 相关阅读:
    禁用Clusterware在系统启动后自己主动启动
    码农的产品思维培养第4节----听用户饿但不要照着做《人人都是产品经理》
    android RecycleView复杂多条目的布局
    【shell脚本练习】网卡信息和简单日志分析
    Java太阳系小游戏分析和源代码
    《你是我的眼》,歌曲非常好听
    hdu 1856 More is better(并查集)
    Python 中的isinstance函数
    Python中的 isdigit()方法
    Python中的split()函数的使用方法
  • 原文地址:https://www.cnblogs.com/kafm/p/12721855.html
Copyright © 2011-2022 走看看