抽象类和接口的概念

抽象类

抽象类必须用 abstract 修饰,子类必须实现抽象类中的抽象方法,如果有未实现的,那么子类也必须用 abstract 修饰。抽象类默认的权限修饰符为 public,可以定义为 public 或 procted,如果定义为 private,那么子类则无法继承。抽象类不能创建对象

接口

接口中的变量隐式的使用 public static final 修饰,并且需要给出初始值。方法隐式的使用 public abstract 修饰(并且只能是 public ,如果是 private,procted,那么就编译报错)。接口中的方法默认不能有具体的实现(JDK1.8开始可以有默认的实现)

抽象类和普通类的区别

1 . 抽象类必须用public、procted 修饰(如果为private修饰,那么子类则无法继承,也就无法实现其抽象方法)。默认缺省为 public

2 . 抽象类无法创建对象

3 . 如果一个子类继承抽象类,那么必须实现其所有的抽象方法。如果有未实现的抽象方法,那么必须定义为 abstract

抽象类和接口的区别

1 . 抽象类只能继承一次,但是可以实现多个接口

2 . 接口和抽象类必须实现其中所有的方法,抽象类中如果有未实现的抽象方法,那么子类也需要定义为抽象类。抽象类中可以有非抽象的方法

3 . 接口中的变量必须用 public static final 修饰,并且需要给出初始值。所以实现类不能重新定义,也不能改变其值。

4 . 接口中的方法默认是 public abstract,也只能是这个类型。不能是 static,接口中的方法也不允许子类覆写,抽象类中允许有static 的方法

抽象类和接口的相同点

1 . 抽象类和接口均包含抽象方法,类必须实现所有的抽象方法,否则是抽象类

2 . 抽象类和接口都不能实例化,他们位于继承树的顶端,被其他类继承和实现

Java中抽象类和接口的区别?相关推荐

  1. 详细解答Java中抽象类和接口的区别问题!

    接口(Interface)和抽象类(Abstract Class)是支持抽象类定义的两种机制. 一.抽象类 在Java中被abstract关键字修饰的类称为抽象类,被abstract关键字修饰的方法称 ...

  2. 详细解析Java中抽象类和接口的区别

    在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...

  3. 【转】详细解析Java中抽象类和接口的区别

    在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...

  4. 详细解析Java中抽象类和接口的区别(很容易理解错)

    2007-09-28 12:17作者:doublel出处:论坛整理责任编辑:方舟 在Java语言中, abstract class 和interface是支持抽象类定义的两种机制.正是由于这两种机制的 ...

  5. Java中抽象类和接口的区别(来源一)

    在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力.abstract class和int ...

  6. Java中抽象类和接口的区别(来源二,原始来源不明确)

    在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类往往用来表征我们在对问题 ...

  7. Java中抽象类和接口在概念、语法和应用上的区别和关系

    2019独角兽企业重金招聘Python工程师标准>>> 春招开始了,盆友们都忙着准备笔试.准备面试,复习学过的知识点,当然我也不例外,在这里祝每一个"有心人"心想 ...

  8. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  9. 关于Java中抽象类和接口的一点思索

    Java中抽象类和接口的一点思索 成员方法上的区别: 1. java中的抽象类可以提供成员方法的实现细节,抽象方法只能是被public和protected来修饰 配合abstract关键字,子类需要实 ...

最新文章

  1. 面试题:函数回调机制、异步函数回调机制图例详解 没毛用
  2. 简单的安卓app小程序代码_开发一款APP大概需要多少钱?
  3. CentOS ping name or service not known问题解决
  4. C语言高级输出及进阶
  5. 不懂函数式?用mobx来写react应用吧
  6. 全面认识openstack:OpenStack架构详解
  7. 建模步骤_UG1847建模机械零件,零基础可读详细图文步骤
  8. oracle优化方法,九大Oracle性能优化基本方法详解
  9. 虚拟服务器密码遗忘怎么办,win7虚拟机忘记密码怎么办_win7虚拟机忘记密码的解决方法...
  10. div中加入span右对齐后出现换行显示的两种解决办法(转)
  11. ae 渲染 计算机内存不足,AE内存不足怎么办? After Effects内存不足【解决方法】...
  12. vue 移动端弹窗后禁止页面滚动 @touchmove.prevent
  13. cad中tk什么意思_cad图纸中各种字母是什么意思
  14. yigo基础学习笔记4_业务流程
  15. 今日头条测开----2轮
  16. 侍魂胧月传说服务器维护,侍魂胧月传说手游7月1日停机维护更新公告
  17. Excel VBA(02)工作簿、工作表、单元格操作
  18. SourceTree生成密钥
  19. Rasa使用指南01
  20. 彻底卸载Websphere

热门文章

  1. android 手写签批_Android手写签批功能实现(适配Android6
  2. 360天气怎么设置方法 360天气如何设置城市
  3. Win11怎么设置提高电脑游戏性能
  4. 腾讯视频如何设置定时关机
  5. Win7系统Office卸载不干净无法安装怎么办
  6. java面试题:当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
  7. mysql数据库中数据类型的长度
  8. 在c语言中预处理命令行都以井号开头,以井号开头的行和gcc预处理器输出中的'#1“ac”'之类的数字是什么意思?...
  9. mysql索引结构优缺点_mysql索引优缺点及注意事项
  10. Maven学习(五)————依赖的特性辨析