目录

1. 抽象类的特点

2. 接口的特点

3. 抽象类和接口的区别


1. 抽象类的特点

  • 抽象类可以有构造方法,但不能直接使用new调用构造方法进行实例化。需要通过非抽象子类的new,来间接的调用父类的构造方法进行实例化
  • 抽象类中,可以存在普通属性、方法和静态属性、方法
  • 抽象类中可以存在抽象方法, 也可以存在非抽象方法、
  • 有抽象方法的类一定是抽象类,但抽象类中不一定有抽象方法
  • 如果父类是抽象类,子类继承父类时,需要重写父类的抽象方法或者子类变成抽象类

2. 接口的特点

  • 在接口中,只有方法的声明,没有方法体且方法永远都被public来修饰
  • 在接口中,定义的变量会自动的加上public、static、final
  • 接口中没有构造方法,也不能被实例化
  • 接口之间可以实现多继承
  • 对于接口中实现的方法,普通的方法没有方法体,用static修饰的方法可以具有方法体,在1.8jdk中,用default修饰的方法也可以具有方法体
  • 不允许出现静态代码块和实例代码块

3. 抽象类和接口的区别

  • 接口不能有构造方法,抽象类可以有。(都不能实例化)

  • 接口不能有方法体,抽象类可以有。 (接口中只能有抽象方法)

  • 接口不能有静态代码块,抽象类可以有。

  • 接口中变量必须是public static final, 而在抽象类中没有要求。

4. 相关题目

【面向对象】抽象类和接口相关推荐

  1. Java基础学习第十二讲:Java面向对象---抽象类和接口

    Java面向对象-抽象类和接口 一.抽象类 抽象的定义: 我们在日常生活中,经常通过总结一些事物的共性来对事物进行分类,这种共性可能是一些相同的属性,也可能是一些相同的动作.通过总结,我们能够清晰的划 ...

  2. 面向对象 抽象类与接口类

    ############  复习 ############### - 先抽象再继承 ########## 接口类与抽象类 接口类 继承有两种用途: 一:继承基类的方法,并且做出自己的改变或者扩展(代码 ...

  3. java面向对象抽象类和接口

    抽象方法和抽象类 (1)一个抽象类中可以不定义抽象方法,但是只要类中有一个抽象方法,则该类一定是抽象类 (2)抽象类不能被实例化,即不能被new创建一个实例对象. (3)如果一个子类继承一个抽象类,则 ...

  4. java面向对象-抽象类和接口

    抽象类(abstract没有足够的信息来描述) 被abstract修饰的类就是抽象类,修饰的方法就是抽象方法. 抽象类中可以没有抽象方法,但有抽象方法的类必须要声明为抽象类. 抽象类不能使用new来创 ...

  5. Java 面向对象 抽象类与接口

    在类的继承中,如果一个个新的子类被定义,子类变得越来越具体,父类变得更加一般和通用,类的设计应该保证父子类能够共享特征,有时将父类设计得非常抽象,使得父类没有具体的实现,这样的类叫做抽象类:一般当我们 ...

  6. 面向对象-抽象类与接口

    1. 抽象类 1.1 什么叫做抽象类 java中有一个类,派生出很多子类而自身不能用来生产对象,这种类叫做抽象类,抽象类的作用有点类似"模板",其目的的是要设计者依据它的格式,来修 ...

  7. Java面向对象—抽象类和接口

    目录 抽象类 什么是抽象类? 1.抽象方法 2.抽象类 实现抽象类中的方法 抽象类使用的意义 接口 什么是接口? 接口的意义 抽象类 什么是抽象类? 1.抽象方法 当一个类没有具体的方法体时,且被ab ...

  8. 《Java技术》第三次作业--面向对象——继承、抽象类、接口

    1.阅读下面程序,分析是否能编译通过?如果不能,说明原因.应该如何修改?程序的运行结果是什么?为什么子类的构造方法在运行之前,必须调用父 类的构造方法?能不能反过来? class Grandparen ...

  9. 问题小结(二)——maven的核心功能、面向对象编程和面向接口编程的区别、抽象类和接口的区别等

    文章目录 1. Java创建对象有哪四种方式? 2. 什么是maven?maven的核心功能有哪些? 3. 什么是MVC?说说分层的好处. 4. Spring的两大核心技术是什么? 5. 什么是IOC ...

  10. Java第五次作业--面向对象高级特性(抽象类和接口)

    一.学习要点 认真看书并查阅相关资料,掌握以下内容: 掌握抽象类的设计 掌握接口的设计 理解简单工厂设计模式 理解抽象类和接口的区别 掌握包装类的应用 掌握对象的比较方法和比较器的使用 学习使用日期操 ...

最新文章

  1. php设置背景图片的代码,css设置背景图片如何实现?(代码实例)
  2. Codeforces Round #276 (Div. 2)
  3. java归还线程_再谈java线程
  4. Recordset.State 属性
  5. #386. 【UNR #3】鸽子固定器
  6. JavaEE 7 正式发布
  7. React 18 带给我们的惊喜
  8. java实现遍历树形菜单方法——实体类VoteTree
  9. 给数据库字段增加前缀
  10. 10 个十分难得的 javascript 开发经验
  11. apt-get、apt、yum、dpkg、rpm
  12. java中匿名数组_Swagger UI:数组中的多个匿名对象
  13. 让你在职场游刃有余的10句话
  14. OpenCVQt学习之一——打开图片文件并显示
  15. 详解 TypyScript 的一个怪异行为
  16. 使用 Ajax 调用 SOAP Web 服务,第 1 部分: 构建 Web 服务客户机
  17. Mysql 查询当月时间数据
  18. 教育统计与测量【1】
  19. Android 自带截屏命令 screencap 的使用
  20. 利用VRRP功能实现简单的路由器备份(图)

热门文章

  1. 灵性的层次:程序、文字、音乐
  2. 花开过——但不在雨季(灵感之作)
  3. FANUC Robot编程技巧一
  4. Dell及其他电脑开启停电后来电重新开机
  5. 离线瓦片地图浏览引擎开发纪要
  6. Python Flask MongoDB Web开发:前 言
  7. EmguCV 常用函数功能说明
  8. 用于多任务CNN的随机滤波分组,性能超现有基准方法
  9. 微信小程序入门资料,学习资料汇总
  10. 【有利可图网】PS教程:制作超级简单的翘边翻页效果