- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA开发与应用抽象类与接口及多态.ppt
抽象类与接口 抽象方法和抽象类 在类中没有方法体的方法,就是抽象方法。 含有抽象方法的类,即为抽象类。 如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。 抽象类中可以没有抽象方法,但是有抽象方法的类必须是抽象类。 构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。 接口 接口的概念是建立在封装的基础之上。在面向对象程序设计中,封装是指对象的使用者通过预先定义的接口关联到某一对象的服务和数据时,无需知道这些服务是如何实现的。因此接口在面向对象程序设计中有着重要的地位。 在Java中,抽象类和接口(Interface)都是一种接口抽象机制,符合接口的特点。习惯上我们只把Java语法中的接口(Interface)作为接口的窄定义。该接口是一种类型,它定义了能被一个类实现的方法。 接口的概念 接口是指一些方法特征的集合,它关心的是方法的特征定义(例如方法的名称、参数的类型及数量),而不是方法的具体实现。在Java中,抽象类和接口都是一种接口抽象机制,符合接口的特点。 接口提供了一种抽象机制 接口使即插即用变得可能 接口针对抽象而不是针对实现 Java接口 定义接口 实现接口 接口与多重继承 接口应用实例 使用接口的好处是便于系统的扩展、维护和重用。接口的使用使得代码模块之间的耦合减弱。具体表现在对象之间的依赖关系弱化为客户——服务的关系,即客户对象请求服务,服务对象提供服务,而接口则成了提供服务的一种契约。 没有经验的程序员设计接口时通常会犯合并接口和预留接口这两个错误。根据接口隔离法则,我们在设计接口时不应该强迫客户端依赖于他们用不上的方法,而是应该提供职责明确、功能专一的最小化接口。除非必要,应该严格控制接口宽度,避免接口冗余。 接口 接口中所有的方法都是public abstract。 在接口中声明方法时,不能使用native、static 、final 、synchronized 、private 、protected等修饰符。 和public类一样,public接口也必须定义在与接口同名的文件中。 接口 接口中可以有数据成员,这些成员默认都是public static final。 接口 一个接口可以继承自另一个接口。 Java中不允许类的多继承,但允许接口的多继承。 接口 在Java中,一个类可以实现多个接口。 一个类在继承另外一个类的同时,可以实现多个接口。 多态的概念 多态是指在一棵继承树中的类可以有多个同名但不同方法体以及不同形参的方法。 两种情况: 覆盖:在子类中直接定义和父类同样的属性和方法,但重新编写了方法体,即子类与父类方法的形参与返回值都相同,而内部处理不同,这种方法在使用过程中,Java虚拟机会根据调用这个方法的类来确定哪个方法被调用 重载:同一个类定义中有多个同名的方法,但有不同的形参,而且每个方法有不同的方法体,调用时根据形参的个数和类型来决定调用的是哪个方法 注:不能根据返回值的类型来区分重载的方法 方法的覆盖与重载的区别 方法的覆盖是子类和父类之间的关系,而重载是同一类内部多个方法间的关系 方法的覆盖一般是两个方法间的,而重载时可能有多个重载方法 覆盖的方法有相同的方法名和形参表,而重载的方法只能有相同的方法名,不能有相同的形参表 覆盖时区分方法的是根据调用他的对象,而重载是根据形参来决定调用的是哪个方法 用final修饰的方法是不能被子类覆盖的,只能被重载 public?Class?Parents?{??public?void?print()?{????System.out.println(“parents”);} } public?Class?Father?extends?Parents?{??public?void?print()?{ System.out.println(“father”); } } public?Class?Mother?extends?Parents?{??public?void?print()?{????System.out.println(“mother”);} } public?Class?Test?{??public?void?find(Parents?p)?{?? p.print(); } public?static?void?main(String[]?args)?{??Test?t?=?new?Test();??Father?f?=?new?Father();??Mother?m?=?new?Mother();??t.find(f);??t.find(m);} } 最后的输出结果分别是father和mothe
您可能关注的文档
- E件数学册普通实验单元圆柱圆锥.ppt
- E反垃圾邮件和防病毒.ppt
- FAB实例培训华硕内部培训资料.ppt
- FDDI光纤分布式数据接口.ppt
- FFT的基算法简介.ppt
- FFT算法设计含程序设计.ppt
- FICEM连接器属性约束和加载.ppt
- FIDIC_EPC合同条件及其应用.ppt
- FIN金融与统计基础.ppt
- FireworksMX详解.ppt
- Sony索尼Accessories DK60 Help Guide (Web manual)_英文说明书用户手册.pdf
- Sony索尼Accessories CSS-HD1 Operating Instructions_英文说明书用户手册.pdf
- Sony索尼Accessories HWS-BTA2W Operating Instructions(第5份)_英文.pdf
- Sony索尼Accessories HVL-MT24AM Operating Instructions(第8份)_英文.pdf
- Sony索尼Accessories BKB50 Help Guide (Web manual)_英文说明书用户手册.pdf
- Sony索尼Accessories HWS-BTA2W Operating Instructions(第3份)_英文.pdf
- Triton Ionizer水族用品说明书.pdf
- I'll help to clean up the city parks Section B同步练习(完整版的).pdf
- AnoldmantriedtomovethemountainsSectionB教学设计(完整版的).pdf
- Howdoyoumakeabananamilkshake?单元练习(完整版的).pdf
文档评论(0)