`
zhaojuan8
  • 浏览: 34077 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

JAVA接口和抽象类

阅读更多
我们知道在java中抽象类与接口的灵活运用大大简化了C++里的多重继承, 但却实现了C++里相似的功能,其实接口的运用其实也只是类层次关系中下传的一种表现,我们可以把java中类的层次关系想象想你的一个家族关系

父类Object当然是你的老祖宗了,

1  抽象类(Abstract Class):

抽象类当然是你的祖辈(祖父,爷爷,父亲都有可能)了,而抽象类里的抽象方法就好象是你祖辈们本应该做的事情,而他们却没有能力去做,或者说他们根本不想去做(可能是他们有这个梦想,而却没有这个能力吧),不过好在他们最终的子孙们(当然不已经不再是抽象类了)都是些有能力,有出息的子孙,帮他们完成他们没有完成的事情(实现了抽象方法),如果当哪天有个想叫这些祖辈去做他们正好没有完成的那些事情时候(调用抽象方法),这些祖辈们就会跟你说,啊,这个我没办法完成,我已经让我的儿子负责来做了,你去找我的儿子去吧,那个人也只好找到他的儿子,假如这个儿子没有这个能力话(还是抽象类),他可能又会跟那个人说,这些事情我也完成不了(还有抽象方法),我让我儿子负责去做了,你找他去吧........依此类推,那个人只能一直找下去,直找到那个有能力完成这些事情为止的儿子(已经实现了抽象方法),然后就让这个儿子去那这件事情(调用这个实现的方法),当然了这些祖辈们多多少少还是做了大部分事情的(大部分不是抽象的方法),同时他们也有自己的性格啊,外貌啊,身高啊等等(这些都是属性).....

2 接口(Interface):

接口就更加牛了(只有属性,完全没有方法体),都些好吃懒做,完全没有出息的祖辈们(当然他们存在这个世上还是有外貌啊,体重啊,身高啊,爱好啊之类的特征啦....),]本来上天给了他们很多事情去做的(接口里的方法),而他们都懒得动手(可能是好吃懒做习惯了吧,哈哈,这各这样比喻是否准确),不过他们都有一个强项,生育儿子的能力特别的强(指实现这些接口的类或者派生的子接口),如果运气好的话,可能生到的是一个勤快的,有出息的儿子(实现了接口的类),这个儿子会把这些懒惰的祖辈们的事情全给包览下来,全部去帮他们做完(实现了接口中所有的方法),当然如果运行不好,生出来的儿子不既跟他一样,而且还会变本加厉(可能拥有更多没有方法体的方法),依此类推......哈哈,不过最终他们的子孙们都是有出息的,都会把他们祖辈(可能有曾爷爷,爷爷,爸爸,[伯伯,叔叔,可能有点不太准确,不过java能实现多个接口,我只能这么理解] ) 留下来的事情全部去做完的.就像抽像类一样,当哪天有人要这些懒惰的祖辈们去做他们应该做的事情的时候,他们就会不耐烦的跟你说,我找我儿子(或者侄子)去吧,我全权交给他来负责,那个人也只好找他儿子去啦....,最终最终,那个人还是找到这些懒惰祖辈们那个最有出息那个子孙(实现这些接口的类),让这个子孙去做那些事情(当用接口的引用调用接口的方法时)
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Java 接口和抽象类

    在上面的练习中,我们使用抽象类和接口来实现多态性。在 LivingThing 抽象类中,我们定义了一个抽象方法 dance(String dancingStyle),然后在 Human 和 Monkey 中实现了该方法。在 PersonInterface 接口中,我们定义...

    11.java接口和抽象类的区别.zip

    11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别.zip11.java接口和抽象类的区别....

    10.java接口和抽象类的相似性.zip

    10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和抽象类的相似性.zip10.java接口和...

    Java 接口和抽象类区别

    Java接口和抽象类是两种重要的面向对象编程概念,它们在软件设计中扮演着关键角色,主要用来实现多态性和代码的可扩展性。虽然两者都用于定义类的行为,但它们之间存在着显著的区别。 首先,接口是一种完全抽象的...

    Java接口和Java抽象类

    ### Java接口和Java抽象类详解 #### 一、引言 在面向对象编程语言Java中,接口(Interface)和抽象类(Abstract Class)是实现多态性和代码复用的重要手段。它们都允许开发者定义行为规范而不需要具体实现细节,但...

    简述抽象类和接口的区别-java接口和抽象类异同.docx

    总体而言,抽象类和接口都是面向对象编程中非常重要的概念,它们各自适用于不同的场景。理解它们的特点并合理地选择使用,可以帮助开发者更好地组织代码,提高程序的可维护性和扩展性。在实际开发过程中,应根据具体...

    java利用接口和抽象类改写求圆的面积和梯形的面积.docx

    ### Java利用接口和抽象类改写求圆的面积和梯形的面积 #### 深入理解Java的接口和抽象类 在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性和代码复用的重要概念。它们都无法被...

    java 抽象类与接口的区别

    在Java编程语言中,抽象类和接口是两种重要的面向对象设计概念,它们都用于实现多态性,但各自具有不同的特点和应用场景。了解并熟练掌握它们的区别对于编写高质量的Java代码至关重要。 首先,抽象类是一种不能被...

    Java接口和抽象类原理详解

    在Java中,抽象类和接口是两种重要的抽象机制,它们都是对面向对象编程(OOP)中抽象的体现。抽象类和接口都是用来定义蓝图的,但它们有很多不同的地方。 一、抽象类 抽象类是指含有抽象方法的类,抽象方法是一种...

    Java接口和抽象类用法实例总结

    Java接口和抽象类是两种重要的面向对象编程概念,它们用于定义类的行为规范和结构。下面将详细介绍这两者以及它们之间的区别。 **接口 (Interface)** 1. **多重继承替代品**:由于Java不支持类的多重继承,接口的...

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

    ### 详细解析Java中抽象类和接口的区别 #### 引言 在面向对象编程中,Java作为一种广泛应用的编程语言,提供了多种方式来实现抽象的概念。其中最常用的两种机制是抽象类(abstract class)和接口(interface)。这...

    Java接口和抽象类的区别深入剖析

    Java接口和抽象类是两种不同的面向对象编程机制,它们各自有着特定的设计目的和应用场景。对于初学者来说,理解这两者的区别至关重要,因为这直接影响到Java程序设计的灵活性和可扩展性。 首先,让我们来深入理解...

    Java语言的接口与抽象类

    4. 多继承:Java接口支持多继承,一个接口可以继承多个父接口,实现接口的组合和扩展。 5. 实现:实现接口的类必须实现接口中声明的所有方法,否则这个类也必须被声明为抽象类。 其次,抽象类(Abstract Class)是...

    java抽象类与接口实例java抽象类与接口实例

    java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例java抽象类与接口实例...

    Java中抽象类和接口的区别

    在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...

    Java抽象类与接口实验报告

    Java抽象类与接口实验报告

    java中接口与抽象类的详细分析与比较

    在Java编程语言中,接口(Interface)和抽象类(Abstract Class)都是用于实现多态性的关键概念,它们各自有特定的用途和优缺点。本文将深入探讨这两种概念,帮助你理解它们之间的区别以及如何在实际开发中选择使用...

    Java接口与抽象类课件

    Java接口与抽象类的课件,适合初学者,主要对接口与抽象类进行简要介绍,PPT版本。

Global site tag (gtag.js) - Google Analytics