《抽象类与终结类》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《抽象类与终结类》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《抽象类与终结类》PPT课件.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第10章 抽象类与终结类抽象类与抽象方法抽象类与抽象方法终结类与终结方法终结类与终结方法定义定义Lease类及其子类类及其子类声明及使用自定义异常声明及使用自定义异常110.1 抽象类与抽象方法抽象类的定义抽象类的定义抽象类声明的语法形式:抽象类声明的语法形式:public abstract class Shape /类体 210.1 抽象类与抽象方法抽象类的定义抽象类的定义抽象类是不能使用抽象类是不能使用newnew方法进行实例化的类,即方法进行实例化的类,即没有具体实例对象的类。没有具体实例对象的类。抽象类可以包含常规类能够包含的任何东西,抽象类可以包含常规类能够包含的任何东西,包括构造方
2、法。包括构造方法。抽象类也可以包含抽象方法,这种方法只有方抽象类也可以包含抽象方法,这种方法只有方法的声明,而没有方法的实现。法的声明,而没有方法的实现。310.1 抽象类与抽象方法声明抽象类的理由声明抽象类的理由抽象类是类层次中较高层次的概括,抽象类的作抽象类是类层次中较高层次的概括,抽象类的作用是让其他类来继承它的抽象化特征;用是让其他类来继承它的抽象化特征;抽象类可以包括被它的所有子类共享的公共属性抽象类可以包括被它的所有子类共享的公共属性和行为;和行为;在程序中不能用抽象类作为模板来创建对象;在程序中不能用抽象类作为模板来创建对象;在用户生成实例时强迫用户生成更具体的实例,在用户生成实
3、例时强迫用户生成更具体的实例,保证代码的安全性。保证代码的安全性。410.1 抽象类与抽象方法抽象类举例抽象类举例如果在应用中仅仅需要如果在应用中仅仅需要CirclesCircles(圆)、(圆)、TrianglesTriangles(三角(三角形)、形)、RectanglesRectangles(四边形)和(四边形)和SquaresSquares(正方形),那(正方形),那么这些类的所有公共属性及方法可以抽象到么这些类的所有公共属性及方法可以抽象到ShapeShape类中,类中,将将ShapeShape类声明为抽象类。类声明为抽象类。510.1 抽象类与抽象方法抽象类举例抽象类举例如果还需要
4、区分如果还需要区分2D2D及及3D3D对象,则需要将对象,则需要将2D2D及及3D3D对象的特性对象的特性分别抽取出来。分别抽取出来。610.1 抽象类与抽象方法抽象方法抽象方法抽象方法声明的语法形式抽象方法声明的语法形式抽象方法体的具体实现是由当前类的不同子类抽象方法体的具体实现是由当前类的不同子类在它们各自的类声明中完成的。在它们各自的类声明中完成的。710.1 抽象类与抽象方法抽象方法抽象方法在使用抽象方法时需要注意以下几点:在使用抽象方法时需要注意以下几点:一个抽象类的子类如果不是抽象类,则它必须为父类中一个抽象类的子类如果不是抽象类,则它必须为父类中的所有抽象方法书写方法体,即重写父
5、类中的所有抽象的所有抽象方法书写方法体,即重写父类中的所有抽象方法。方法。只有抽象类才能具有抽象方法,也就是说,如果一个类只有抽象类才能具有抽象方法,也就是说,如果一个类中含有抽象方法,则必须将这个类声明为抽象类。中含有抽象方法,则必须将这个类声明为抽象类。除了抽象方法,抽象类中还可以包括非抽象方法。除了抽象方法,抽象类中还可以包括非抽象方法。810.1 抽象类与抽象方法抽象方法举例抽象方法举例贷款贷款(Loan)(Loan)分为许多种类,如租借(分为许多种类,如租借(LeaseLease)、抵押)、抵押(MortgageMortgage)、房屋贷款()、房屋贷款(HouseLoanHouse
6、Loan)、汽车贷款)、汽车贷款(CarLoanCarLoan)等。)等。910.1 抽象类与抽象方法抽象方法举例抽象方法举例可以将可以将LoanLoan声明为抽象类,并指定所有的子类对象都应声明为抽象类,并指定所有的子类对象都应具有的行为。具有的行为。1010.2 终结类与终结方法终结类终结类如果一个类被如果一个类被finalfinal修饰符所修饰和限定,说明这个类修饰符所修饰和限定,说明这个类不可能有子类,称为终结类。不可能有子类,称为终结类。被声明为被声明为finalfinal的类通常是一些有固定作用、用来完成的类通常是一些有固定作用、用来完成某种标准功能的类,这些类不能被继承,自然就不
7、能对某种标准功能的类,这些类不能被继承,自然就不能对其提供的功能进行修改。其提供的功能进行修改。JavaJava类库中提供了一些终结类,如类库中提供了一些终结类,如、。可以防止子类对父类关键方法的错误重写,增加了代码可以防止子类对父类关键方法的错误重写,增加了代码的安全性和正确性。的安全性和正确性。1110.2 终结类与终结方法终结方法举例终结方法举例1210.2 终结类与终结方法终结方法终结方法将方法声明为将方法声明为finalfinal的另一个原因是提高类的运的另一个原因是提高类的运行效率。通常,当行效率。通常,当javajava运行环境(如运行环境(如javajava解释解释器)运行方法
8、时,它将首先在当前类中查找该器)运行方法时,它将首先在当前类中查找该方法,接下来在其超类中查找,并一直沿类层方法,接下来在其超类中查找,并一直沿类层次向上查找,直到找到该方法为止。次向上查找,直到找到该方法为止。如果方法是如果方法是finalfinal的,的,javajava编译器可以将该方法编译器可以将该方法可执行字节码直接放到调用它的程序中。可执行字节码直接放到调用它的程序中。1310.3 定义Lease类及其子类LeaseLease类图类图1410.3 定义Lease类及其子类定义初始的定义初始的Lease类类 1510.3 定义Lease类及其子类定义初始的定义初始的Lease类类 1
9、610.3 定义Lease类及其子类处理日期处理日期 处理日期和时间需要处理日期和时间需要CalendarCalendar类和类和DateFormatDateFormat类。类。CalendarCalendar类通常与类通常与DateDate类一同使用,这两个类类一同使用,这两个类在在包中。包中。DateFormatDateFormat类在类在包中。包中。1710.3 定义Lease类及其子类处理日期处理日期 Calendar Calendar 包含方法和常量;包含方法和常量;DateDate实例包含实际日期值;实例包含实际日期值;DateFormatDateFormat 实例用于显示日期格式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抽象类与终结类 抽象 终结 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内