java 抽象类和接口

参考https://www.cnblogs.com/dolphin0520/p/3811437.html
回顾一下java的一些基础知识作为记录。
一.抽象类
1.用abstract来修饰的类就是抽象类。
2.无论抽象类中有没有抽象方法,只要用abstract修饰的类就似乎抽象类。用abstract修饰的方法就是抽象方法。
3.抽象类是为了继承而存在的。一个父类的没有任何意义的方法,必须通过子类的不同需求进行不同实现,这个类就可以是抽象类。
4.抽象类不只是包含抽象方法的了,也可以包含普通方法和成员变量。
5.抽象方法和普通方法的区别
(1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
(2)抽象类不能用来创建对象.
(3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
二.接口
1.接口中可以有变量和方法。接口中的变量只能是public static final变量,接口中的方法只能是public abstract方法。并且接口中的方法不能有具体的实现。
2.一个非抽象类继承了接口,就必须实现所有的接口方法。如果是抽象类继承接口,则可以不实现抽象方法。
三.区别
(1)抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
(2)抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
(3)接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
(4)一个类只能继承一个抽象类,而一个类却可以实现多个接口。
(5)抽象类可以看作是一个属性的固有行为,接口可以看做是附加行为。
根据文章开头链接整理下来做下笔记。再附上原文https://www.cnblogs.com/dolphin0520/p/3811437.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • abstract 的理解 abstract(抽象)可以修饰类、方法如果将一个类设置为abstract,则此类必须被...
    阳光下的狐狸阅读 2,953评论 0 1
  • 抽象类 使用abstract关键字修饰的类叫做抽象类定义抽象类的语法格式: [访问修饰符] abstract cl...
    Jason_M_Ho阅读 1,522评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,819评论 18 399
  • 写在前面 本文背景为JDK 1.8 ,为个人学习笔记整理,略有凌乱。如有纰漏,请务必指出。 抽象类 抽象类即是声明...
    Van96阅读 2,924评论 0 1
  • 一 抽象类在java中用abstract关键字修饰的不能被实例化的类称为抽象类,抽象 类中可以有抽象方法也可以有非...
    安安静静写代码阅读 1,630评论 0 0

友情链接更多精彩内容