抽象类(abstract没有足够的信息来描述)

被abstract修饰的类就是抽象类,修饰的方法就是抽象方法。

抽象类中可以没有抽象方法,但有抽象方法的类必须要声明为抽象类。

抽象类不能使用new来创建对象,它是用来让子类继承的。

抽象方法只有方法的声明,没有实现,让其子类实现。

子类继承抽象类,必须实现抽象类的所有方法,否则该子类也要声明为抽象类。

抽象类的特征:

(1)不可被实例化(2)抽象类是有构造器的(所有类都有构造器)

(3)抽象方法所在的类,一定是抽象类(因为抽象方法是没有方法体的,如果所在的类不是抽象类,那么该类可以实例化对象,调用抽象方法,然后无方法体去具体实现功能,则矛盾)

(4)抽象类可以没有抽象方法的抽象方法(abstract method)abstract修饰的方法为抽象方法

抽象方法的特征:

(1)格式,没有方法体,包括{ },例如public abstract void dink();

(2)抽象方法只保留方法的功能,具体的执行,交给继承抽象类的子类,由子类重写改抽象方法

(3)如果子类继承抽象类,并重写了父类的所有的抽象方法,则此子类不是抽象类,可以实例化的

(4)如果子类继承抽象类,没有重写父类中所有的抽象方法,意味着子类中还有抽象方法,那么此子类必须必须声明为抽象的。

接口

普通类:只有具体实现

抽象类:具体实现和规范(抽象方法)都有!

接口:只有规范!自己无法写方法~专业的约束!约束和实现分离:面向接口编程

接口就是规范,接口的本质是契约

声明类的关键字是class,声明接口的关键字是interface

作用

  1. 接口是一个约束
  2. 定义一些方法,让不同的人实现
  3. 方法只能创建抽象,创建 public sbstract
  4. 属性只能创建常量,常量创建 public static final
  5. 接口不能被实例化,接口中没有构造方法
  6. implements 可以实现多个接口
  7. 必须要重写接口中的方法

总结:抽象类针对类,接口针对方法。抽象类不能被实例化,抽象类中可以没有抽象方法,一个类如果继承一个抽象类就必须实现抽象类的抽象方法,如果不实现该抽象类的抽象方法,那么这个类也是抽象类。

接口是标准,是规范。接口中存在常量和未实现的方法。

java面向对象-抽象类和接口相关推荐

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

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

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

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

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

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

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

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

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

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

  6. Java面向对象-抽象类

    Java面向对象-抽象类 定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象: 注意点: 1,包含一个抽象方法的类是抽象类: 2,抽象类和抽象方法都要用abstract关键字修饰: 3, ...

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

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

  8. java中抽象类和接口的作用与区别

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

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

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

最新文章

  1. numpy——hsplit()、vsplit()函数的详细使用
  2. 马哥linux2020博客,马哥linux学习(bash shell学习)
  3. mysql order by 日期_mysql order by基于时间的盲注
  4. git for windows_干货分享 | 嵌入式必备技能之Git的使用
  5. windows安装XGBoost
  6. 提高编写CSS代码效率的10个习惯
  7. 计算机桌面通过网络在拼接屏上显示,一种多个拼接屏实时同步显示方法与流程...
  8. 阿里巴巴Mysql规范
  9. 行内元素和块级元素:内联(行级)元素不能设置margin-top
  10. h5(移动端) 监听软键盘弹起、收起
  11. cadence ic5141安装包_Cadence IC5141 安装文档
  12. winform直接控制云台_299元,246g,260mm,一天销量破万的智云最新手机云台深度评测...
  13. 推荐收藏,25条实用简洁的 Python 代码真香啊
  14. ESP32与掌控板IO接口编程入门 | ESP32轻松学(Arduino版)
  15. java模拟器分辨率_创建AVD 模拟器大小/分辨率 调整
  16. DOS命令行下输入mount命令
  17. 【C++】屋顶积水问题
  18. 七步SQLserver导入XLS数据源(0代码)
  19. Memtest86 —— Modulo20 算法
  20. 甲骨文(oracle) 美国,甲骨文全球大会.美国

热门文章

  1. promise 中的异常捕获_Promise异常捕获
  2. 冷月手撕408之计算机组成原理(1)-导学
  3. html中去除浮漂有什么作用,鱼漂吃铅量大、和吃铅量小都有啥优点?
  4. Ubuntu 16.04启动时进入welcome to emergency mode!
  5. IMP-00017 Oracle数据库imp命令导入时1659错误处理
  6. 门面设计模式(facade)
  7. 中国抓到了勒索病毒作者!!
  8. PID原理的详细分析及调节过程
  9. 一起来吐槽:来自暗网的公链项目VAS,竟然内含十级分销?
  10. 计算机网络第一章考研题