- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch07.接口和抽象类解读
Chapter7 接口和包 abstract class和interface 从语法定义层面 使用abstract class的方式定义Demo抽象类的方式: abstract class Demo { abstract void method1(); abstract void method2(); method2(); … } 使用interface的方式定义Demo抽象类的方式: interface Demo { void method1(); void method2(); … } Chapter7 接口和包 abstract class和interface 从编程的角度 抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承关系。一个类却可以实现多个接口。 在抽象类的定义中,我们可以赋予方法的默认行为。但是在接口的定义中,接口却不能拥有默认行为。 接口的实现只要有相关的函数名称就可以了。即便没有任何实现都可以。 如果一个接口中定义的方法名改变了,那么所有实现此接口的子类显然将无法通过编译 Chapter7 接口和包 abstract class和interface 从设计层面《Effective java》 接口比抽象类好,一般情况下,如果能用接口就不用抽象类。 从设计上讲和抽象类有很大不同。 接口表示实现类尊崇接口的“协议”,并不是接口的特征,接口既然定义了就不能随便修改。所以设计上,接口不应该很“大”。 如果一个子类继承了抽象类就决定了这个类的主要特征。 Chapter7 接口和包 人性化的理解 - 抽象类 抽象类是的祖辈(祖父,爷爷,父亲都有可能)了,而抽象类里的抽象方法就好象是祖辈们本应该做的事情,而他们却没有能力去做, 不过好在他们最终的子孙们(当然不已经不再是抽象类了)都是些有能力,有出息的子孙,帮他们完成他们没有完成的事情(实现了抽象方法), 如果有天想叫这些祖辈去做他们正好没有完成的那些事情时候(调用抽象方法),这些祖辈们就会说, 这个我没办法完成,我已经让我的儿子负责来做了,你去找我的儿子去吧,也只好找到他的儿子,假如这个儿子没有这个能力话(还是抽象类),他可能又会说,这些事情我也完成不了(还有抽象方法),我让我儿子负责去做了,你找他去吧 依此类推,只能一直找下去,直找到那个有能力完成这些事情为止的儿子(已经实现了抽象方法),然后就让这个儿子去那这件事情(调用这个实现的方法),当然了这些祖辈们多少还是做了大部分事情的(大部分不是抽象的方法),同时他们也有自己的性格啊,外貌啊,身高啊等等(这些都是属性) Chapter7 接口和包 人性化的理解 - 接口 (只有属性,完全没有方法体),都些好吃懒做,完全没有出息的祖辈们(还是有外貌啊,体重啊,身高啊,爱好啊之类的特征) 本来上天给了他们很多事情去做的(接口里的方法),而他们都懒得动手,不过他们都有一个强项繁衍后代(指实现这些接口的类或者派生的子接口),如果运气好的话,可能生到的是一个勤快的,有出息的儿子(实现了接口的类),这个儿子会把这些懒惰的祖辈们的事情全给包览下来,全部去帮他们做完(实现了接口中所有的方法),当然如果运行不好,生出来的儿子不仅跟他一样,而且还会变本加厉(抽象类,可能拥有更多没有方法体的方法),依此类推 不过最终他们的子孙们都是有出息的,都会把他们祖辈留下来的事情全部去做完的. 就像抽像类一样,当哪天有人要这些懒惰的祖辈们去做他们应该做的事情的时候,他们就会不耐烦的跟你说,我找我儿子(或者侄子)去吧,我全权交给他来负责,那个人也只好找他儿子去啦,最终,那个人还是找到这些懒惰祖辈们那个最有出息那个子孙(实现这些接口的类),让这个子孙去做那些事情(当用接口的引用调用接口的方法时) Chapter7 接口和包 目 录 抽象类 1 抽象类 VS 接口 3 2 接 口 包 4 Chapter7 接口和包 包的定义和用途 Java语言中的包(package)是类和接口的集合,它从更高级别上提供了对类和接口的存取保护和命名空间管理。 包为类和接口之间的访问划分了一个界限。而访问控制符使用包的这种界线来增强包内类和接口之间更高级别的相互作用和依赖,减少了跨包的类和接口之间的访问和相互作用。 包的出现也减少了命名上的冲突,这样类和接口的名字只要在它们所在包内没有冲突就可以了。 Chapter7 接口和包 包的创建 创建一个包只要包含一个package命令作为一个Java源文件的第一句就可以了。该文件中定义的任何类将属于指定的包。如果省略
您可能关注的文档
最近下载
- 《少年吸烟危害》课件.pptx VIP
- 浙大中控ECS-100控制系统介绍.ppt VIP
- (2025秋新版)苏教版三年级数学上册全册教案.docx
- Premiere Pro CC视频剪辑基础教程-全套PPT课件.pptx
- 浙大中控ECS-700系统概要.pdf VIP
- 雅安百图高新材料股份有限公司年产60吨球形六方氮化硼聚体项目环境影响报告表.docx VIP
- 大学生创新创业指导教学教案课程设计.pdf VIP
- 满分优秀作文——《科技浪潮,筑梦未来》.docx VIP
- 雅安百图高新材料股份有限公司年产60吨球形六方氮化硼聚体项目环境影响报告.pptx VIP
- 浙大中控ECS-700控制站硬件使用手册.pdf VIP
文档评论(0)