NO.13 抽象类与接口

抽象方法:是指由abstract修饰,只有方法的定义,没有具体的实现(没有{})。

抽象类:是指由abstract修饰,其中包含抽象方法的类必须是抽象类(不包含抽象方法的类也可以声明为抽象类)。

特点:抽象类不能被实例化,是需要被继承的;子类需要重写所有抽象方法,除非也声明为抽象类(不建议)。

意义:1)封装所有子类所共有的属性和行为-------代码复用

2)为所有子类提供了统一的类型-----------向上造型

3)可以包含抽象方法,为所有子类提供了统一的入口;子类的具体实现是不同的,但方法的定义是一致的


接口:是一个标准、规范,遵守该标准就能干某件事(API才理解),其是一种数据类型,由interface定义,只能包含常量和抽象方法。

特点:

1)接口不能被实例化

2)接口是需要被实现的,实现类,必须重写接口中的所有抽象方法

3)一个类可以实现多个接口,用逗号分隔,若又继承又实现时,应先继承后实现

4)接口可以继承接口



抽象类和接口的区别:

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

2)抽象类中可以包含抽象方法和非抽象方法,而接口中的所有方法均为抽象的。

3)子类继承抽象类必须实现抽象类中所有抽象方法,否则子类也必须是抽象类。而子类实现接口则必须实现接口中的所有抽象方法。


下面完成求一组图形中最大面积的案例:

图形类、继承的正方形类和圆形类求面积方法


下面测试一下代码:

主方法中创建图形数组并分别创建对象,调用area方法比较面积

最后输出结果为:

根据常识,也判断出程序没问题。

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

相关阅读更多精彩内容

  • 你很清楚的知道什么时候用抽象类,什么时候用接口么?p.s. 多文字预警! 1 抽象类和接口简介 1.1 抽象类 ...
    Sharember阅读 6,923评论 9 55
  • 一、抽象类 1、抽象类含义的概括: 当多个类出现相同功能时,但功能主体不同,这样可以向上抽取,抽取时只抽取功能定义...
    玉圣阅读 4,276评论 0 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,094评论 18 399
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 4,941评论 0 5
  • 在那六千四百米的深海 有只庞大的蓝色精灵 它的心 是座孤独的小小的城 藏有不可触及的稀薄的星 它用五十二赫兹的歌唱...
    芊岚阅读 2,593评论 3 4

友情链接更多精彩内容