欢迎来到天天文库
浏览记录
ID:42166404
大小:459.50 KB
页数:17页
时间:2019-09-09
《第7讲(接口与程序包)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第七讲接口与程序包1、抽象类的概念2、接口3、程序包1、继承的基本概念(复习)继承描述的是类与类之间的“is-a”关系。子类可以继承父类中的所有成员(包括父类中所有静态与动态的属性与方法),但是它不能访问被声明成private的成员。在java中,使用关键字extends继承一个类。2、关键字super与final的使用(复习)关键字super允许在子类中调用父类的构造函数或被子类所覆盖的父类中的方法。关键字final的三个用途:(1)创建一个常量。(2)使用final阻止方法被子类覆盖。(3)使用final阻止类被继承(创建最终类)。3、继承的意义和用途继承是面向对象的一块基石,它允
2、许创建分等级层次的类(继承树)。继承树的层次不可太多,一般为三层。继承描述的是类与类之间的“is-a”关系,通过使用继承可以更好地管理与使用类,从而使得面向对象的程序具备无限扩展的可能性。4、继承的弊端继承的弊端:打破类的封装。4.1比较组合关系与继承关系4.1比较组合关系与继承关系----使用继承关系4.1比较组合关系与继承关系----使用组合关系组合关系与继承关系比较,前者的优势在于不会打破类的封装。4.1比较组合关系与继承关系----使用组合关系组合关系与继承关系比较,前者的缺点是实例化对象时要创建更多的对象。5、设计继承树精心设计专门用于被继承的类:1、尽可能用private来
3、封装父类的细节;2、把不允许子类覆盖的方法用final来修饰;3、如果某些类不是为了继承而设计,将该类声明为final。继承树的上层为抽象层。抽象类是所有其子类的模板。在抽象类中被定义为抽象的方法可以只定义方法名,而没有任何具体的实现。1、抽象类的概念使用关键字abstract描述一个抽象类或抽象方法。如:abstractclassA{……}abstractvoidcallme();注意:一个抽象类不能通过new操作符直接实例化;不能定义抽象的构造函数或抽象静态方法;子类必须覆盖父类中所有的抽象方法;在类中,只要有一个方法是抽象方法,这个类就必须声明为抽象类。1、抽象类的概念接口是一种
4、只有方法没有属性的抽象类。在接口中所有定义的方法都没有具体的实现。2、接口(interface)-------接口定义使用关键字interface定义一个接口如:interfaceinterfaceA{voidcallback();}2、接口(interface)-------实现接口使用关键字implements可以让一个类实现一个接口或同时实现多个接口(多继承)。如:classBimplementsInterfaceA{…………}/***************************************/classBimplementsInterfaceA,Interface
5、C{……………}2、接口(interface)-------接口的扩展接口可以使用关键字extends被其他接口继承。如:interfaceinterfaceA{voidcallback1();}/***************************************/interfaceinterfaceBextendsinterfaceA{voidcallback();}2、接口(interface)-------应用接口下面定义了一个整数堆栈接口,把它保存在IntStack.java文件中。创建一个名为FixedStatck的类,该类实现一个固定长度的整数堆栈。interf
6、aceIntStack{voidpush(intitem);intpop();}练习陆地上的动物的具备如爬行,跑动,跳跃等行为;水中的动物具备游泳的行为;两栖类动物既能在陆地上爬行,也能在水中游泳。试编写一个两栖动物类,使得该类中的对象既具备陆地上动物的行为,也具备水中动物的行为。
此文档下载收益归作者所有