美文网首页
Java学习笔记(抽象类与接口)

Java学习笔记(抽象类与接口)

作者: wcd123 | 来源:发表于2019-08-12 23:01 被阅读0次

抽象类

  1. 抽象类不能被实例化
  2. 抽象类里包含抽象方法,也可以有非抽象方法。
  3. abstract 不能与final一同修饰一个类
  4. abstract 不能与final, static, private, native一同修斯一个方法

接口

  1. 接口中定义的成员变量自动默认为public static final,可以直接通过类名.变量名来调用
  2. 接口中的方法自动为public,因为接口必须要能被实现
  3. 接口中不存在有具体方法体的方法。
  4. 一个类要实现某接口,必须要实现这个接口中所有的方法。如果只实现了一部分方法,则这个类必须要声明为抽象类。

抽象类 vs 接口

  1. 语法层次比较
    抽象类是个类,遵循单继承的原则,而一个类可以实现多个接口。
  2. 设计层次理解
  • 抽象类理解为is-a的关系,接口理解为like-a的关系,实现的是有没有某个行为的关系。
  • 抽象类是多个子类向上抽象出来的,它们具有相同的特征,可以用一个基类来表示;而接口是行为上的抽象,是多个类具有相关的行为。比如:猫和狗向上可以抽象为动物的抽象类,猫和狗都是一个动物,它们有自己玩球的姿势。而机器人也会玩球(比如发条魔灵),那么可以统一抽象出一个接口玩儿个球,本质上动物和机器人属于不同的类别,但它们都有自己玩球的行为。

相关文章

  • 接口和抽象类有什么区别

    学习Java基础知识,打通面试关~十三接口与抽象类面试常客:谈谈你对抽象类和接口的理解 接口用interface修...

  • java抽象类与接口的区别是什么?

    关于java抽象类与接口的文章早已是非常多了,本文是对我个人过往学习java的经验,理解及应用抽象类与接口的一个总...

  • Java学习笔记(抽象类与接口)

    抽象类 抽象类不能被实例化 抽象类里包含抽象方法,也可以有非抽象方法。 abstract 不能与final一同修饰...

  • 【JAVA学习笔记】抽象类与接口

    学习自华为开发者学院陈璇老师的JAVA系列课程 一、抽象类 没有抽象构造方法,也没有抽象静态方法 抽象类中可以有非...

  • Android-知识点总结

    Java知识点 抽象类与接口的区别: 抽象类可以有方法的具体实现,接口不可以。 由于Java单继承的特性,子类只能...

  • Java8学习笔记目录

    Java8学习笔记 -- 接口的默认方法与静态方法 Java8学习笔记 -- Lambda表达式,Function...

  • Java开发面试高频考点学习笔记(每日更新)

    Java开发面试高频考点学习笔记(每日更新) 1.深拷贝和浅拷贝 2.接口和抽象类的区别 3.java的内存是怎么...

  • 8.12 集训第十二天 【Java 接口&抽象类】

    38℃/26℃ 热skr人 今日目标 学习接口和抽象类 学习内容 1 接口 接口可以解决java中的多重继承问...

  • JAVA

    JAVA java中接口与抽象类的区别? 简述jvm的内存布局? java对象创建的过程? java重载与重写的区...

  • 【第7篇】Kotlin接口的详解

    1、接口 Kotlin 的接口与 Java 8 类似,既包含抽象方法的声明,也包含实现。与抽象类不同的是,接口无法...

网友评论

      本文标题:Java学习笔记(抽象类与接口)

      本文链接:https://www.haomeiwen.com/subject/fnzpjctx.html