Java中的接口和抽象类。

接上篇。

Java中的继承和多态

Animals(动物)类在现实生活中找不出这样的一个实例,没有一个叫动物的动物。他的子类,譬如像狗,鸟,是具体的一个实例,但是动物类只是一个抽象的概念。一个认知上的抽象。那这样的类就为抽象类。

那将Animals类 设置为抽象类,规定动物的基本属性,基本方法,抽象方法,那继承他的子类就必须实现父类的抽象方法,若不实现,那继承的这个类也必须设置为抽象类。

抽象类中可以有构造函数,属性的权限可以为private,public, protected.,含有抽象方法的类必须声明为抽象类。

抽象函数在抽象类中只是声明,具体实现交给子类。

eg

在上面的例子上继续改造,将Animals中的eat()方法设置为抽象函数。在子类中去实现它。


子类





接口

接口是一组规范,是一个标准。它不表示事务,接口是给类用的。

接口作用。  1:一种规范。

                       2:解耦合,降低耦合度。

接口的现实举例,比如 人要遵守法律。。人就是一个类,法律就是一个接口。

类可以实现多个接口,这就相当于人要遵守多个规章制度。

接口之间可以多继承,这就相当于所有的法律都是宪法之下的。

比如,上面的例子,我想要有飞的这个动作。那我不能在Animals中添加飞这个动作,要是这样的话,那继承他的子类都有飞这个动作,那继承它的Dog类也就有飞的动作,这样的逻辑违背了现实逻辑,是不成立的,那我也可以在每个类中单加这个动作,也能实现,但是接口还有一个功能就是降低耦合度,这样做没有降低耦合。为了达到这个目的,那我就把飞这个动作做成几个接口,那个类需要飞这个动作只需要实现它就行。

接口不能实例化对象,但是可以创建接口引用指向实现这个接口的类的实例化对象。

接口表示规范,所以它里面的属性都是public static final 

                                方法都是abstract。

                            没有构造函数。

接口是一个特殊的抽象类。

eg:

定义一个飞的接口




bird实现Fly接口





一个类可以实现多个接口..

在上面的例子上在添加一个下蛋接口.



bird实现这个接口



接口支持多继承,和类继承基本差不多。

接口更多的有点偏一种动作。偏行为,而类更多的是特征,

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

相关阅读更多精彩内容

  • 一、抽象类 1、抽象方法 抽象方法只有声明,而没有具体的实现。也就是说没有{}。抽象方法的声明格式为:abstra...
    锈色的栅栏阅读 3,077评论 0 0
  • java继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继...
    863cda997e42阅读 4,030评论 0 1
  • 你很清楚的知道什么时候用抽象类,什么时候用接口么?p.s. 多文字预警! 1 抽象类和接口简介 1.1 抽象类 ...
    Sharember阅读 6,946评论 9 55
  • 今天,讲两个故事。 大约是去年的春天,杭州的各色花瓣像是炸了锅,弥漫了整座城,红的,白的,浓青艳紫的,我是从不肯辜...
    王芊骅阅读 3,365评论 0 4
  • 人们常说,错过一个人,是因为不够爱。深爱着,就不容易错过,若是一个你拿命相惜的人,怎么能轻易错过呢? 而...
    兰质蕙心l阅读 3,816评论 14 12

友情链接更多精彩内容