抽象类
  (1)如果多个类中存在相同的方法声明,而方法体不一样,我们就可以只提取方法声明。
    如果一个方法只有方法声明,没有方法体,那么这个方法必须用抽象修饰。
    而一个类中如果有抽象方法,这个类必须定义为抽象类。
  (2)抽象类的特点
    A:抽象类和抽象方法必须使用abstract修饰
    B:抽象类不能被实例化
    C:抽象类有构造方法,用于子类实例化使用
    D:如果一个类是抽象类,那么,继承它的子类
      要么是抽象类。
      要么重写所有抽象方法。
  (3)抽象类的成员特点
    A:成员变量 可以是变量,也可以是常量
    B:构造方法 有构造方法
    C:成员方法 可以有抽象方法,也可以有非抽象方法(全是抽象方法或者非抽象方法都是可以的)
  (4)抽象类的几个小问题
    A:抽象类不能被实例化,为什么有构造?
      用于子类实例化使用。
    B:一个类没有抽象方法,为什么定义为抽象类?
      不想被实例化,或者是抽取出来的一个规则类
    C:abstract不能和哪些关键字共存。
      final
      private
      static

接口
  (1)如果一个抽象类中的方法都是抽象的,这个时候,java就提供了一种更抽象的表示形式:接口。
    接口:interface
    实现:implements

    格式:
      interface 接口名{}

      class 类名 implements 接口名 {}
  (2)接口的特点:
    A:接口不能被实例化。
    B:一个类如果实现了接口:
      要么是抽象类。
      要么实现接口中的所有方法。
  (3)接口的成员特点:
    A:成员变量 只能是常量。默认修饰符 public static final
    B:成员方法 只能是抽象方法。默认修饰符 public abstract
  (4)接口的思想特点:
    A:对外暴露的规则
    B:是功能的扩展
    C:降低耦合度
      耦合:类与类的关系
      内聚:类自己完成某件事情的能力
      高内聚,低耦合。
    D:接口可以多实现。
  (5)类,接口的关系
    A:类与类
      继承关系,只能单继承,可以多层继承。
    B:类与接口
      实现关系,可以单实现,也可以多实现。
      还可以在继承一个类的同时实现多个接口。
    C:接口与接口
      继承关系,可以单继承,也可以多继承。
  (6)抽象类和接口的关系
    接口是对动作的抽象,抽象类是对根源的抽象。
    抽象类中定义的是体系结构中的共性的内容。接口中定义的是对象的扩展功能。
    接口是一种特殊的抽象类,比抽象类更抽象,因为接口中的方法都是抽象方法。

Java基础系列--06_抽象类与接口概述的更多相关文章

  1. 【java基础 16】抽象类和接口的区别

    导读:前两天闲着没事儿,看了本书,然后写了点代码,在接口里面写了默认方法实现,因为书上说这个特性是从java8开始的,我还特地给测了一下java7. 没过几天,就有一个技术分享会,刚好也是讲java8 ...

  2. 十、Java基础---------面向对象之抽象类与接口

    抽象类(abstract)     当编写一个类时,时常会为该类定义一些方法,这些方法的使用用以描述该类的行为方式,那么这些方法都有具体的方法体.但是在某些情况下,某个父类只是知道子类应该包含怎样的方 ...

  3. Java基础知识(抽象类和接口)

    一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 1 abstract void fun(); 抽象方法必须用abst ...

  4. Java基础5:抽象类和接口

    本文主要介绍了抽象类和接口的特性和使用方法. 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.g ...

  5. Java基础系列-ArrayList

    原创文章,转载请标注出处:<Java基础系列-ArrayList> 一.概述 ArrayList底层使用的是数组.是List的可变数组实现,这里的可变是针对List而言,而不是底层数组. ...

  6. 夯实Java基础系列6:一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别!

    目录 抽象类介绍 为什么要用抽象类 一个抽象类小故事 一个抽象类小游戏 接口介绍 接口与类相似点: 接口与类的区别: 接口特性 抽象类和接口的区别 接口的使用: 接口最佳实践:设计模式中的工厂模式 接 ...

  7. Java基础系列-equals方法和hashCode方法

    原创文章,转载请标注出处:<Java基础系列-equals方法和hashCode方法> 概述         equals方法和hashCode方法都是有Object类定义的. publi ...

  8. Java基础系列-Comparable和Comparator

    原创文章,转载请标注出处:<Java基础系列-Comparable和Comparator> 一.概述         Java中的排序是由Comparable和Comparator这两个接 ...

  9. 夯实Java基础系列13:深入理解Java中的泛型

    目录 泛型概述 一个栗子 特性 泛型的使用方式 泛型类 泛型接口 泛型通配符 泛型方法 泛型方法的基本用法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型方法总结 泛型上下边界 泛型常见面试 ...

随机推荐

  1. 产品经理之PRD详解

    文章大纲 一.PRD基础二.PRD要素讲解三.相关模板下载四.参考文章   一.PRD基础 1. PRD简介    PRD中文意思为:产品需求文档.PRD的主要使用对象有:开发.测试.项目经理.交互设 ...

  2. 使用d3.v5实现条形图

    效果图: 条形图: 目录结构: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  3. ios11苹果手机怎么投屏到电脑

    使用过苹果手机的用户都知道,苹果手机触摸屏操作极为流畅,网页浏览也非常轻松,各种网络上的应用可以说是非常完美.iPhone的娱乐功能相当的强大,能让苹果iPhone超越了其他手机很大的距离.但是手机怎 ...

  4. (转)ceph 常用 运维命令--查看信息 - 不错的文档

    下面是测试验证环节 1. 创建一个 pool rbd create foo --size 4 --image-format 2 --image-feature layering 2. 挂载和格式化 r ...

  5. Luogu P5285 [十二省联考2019]骗分过样例

    Preface ZJOI一轮被麻将劝退的老年选手看到这题就两眼放光,省选也有乱搞题? 然后狂肝了3~4天终于打完了,期间还补了一堆姿势 由于我压缩技术比较菜,所以用的都是非打表算法,所以一共写了5K- ...

  6. [AI开发]将深度学习技术应用到实际项目

    本文介绍如何将基于深度学习的目标检测算法应用到具体的项目开发中,体现深度学习技术在实际生产中的价值,算是AI算法的一个落地实现.本文算法部分可以参见前面几篇博客: [AI开发]Python+Tenso ...

  7. webpack4打包nodejs项目进阶版——多页应用模板

    前段时间我写了个打包nodejs项目的文章,点击前往 但是,问题很多.因为之前的项目是个历史遗留项目,重构起来可能会爆炸,当时又比较急所以就写个的适用范围很小的webpack的打包方法. 最近稍微得空 ...

  8. Java核心技术第五章——1.类、超类、子类(1)

    1.定义子类: 关键字extends表明正在构造的新类派生与一个已存在的类.已存在的类称为超类.基类或父类:新类称为子类.派生类或孩子类.超类和子类是Java程序员最常用的两个术语(emmm~~我觉得 ...

  9. React 与 React-Native 使用同一个 meteor 后台

    meteor 可以快速构建 pc,移动端,桌面端应用. 最大的优点是:数据库的数据发生变化时,可以实时推送到前端,非常适用于实时展示的应用开发. 在 react,react-native 应用中,可以 ...

  10. 机器学习算法GBDT的面试要点总结-上篇

    1.简介 gbdt全称梯度下降树,在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,在前几年深度学习还没有大行其道之前,gbdt在各种竞赛是大放异彩.原因大概有几个,一是效果确实挺不错.二是 ...