第4章-面向对象程序设计(下)ppt课件(全).ppt
《第4章-面向对象程序设计(下)ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《第4章-面向对象程序设计(下)ppt课件(全).ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4章章 Java面向对象程序设计面向对象程序设计(下下)第4章 面向对象程序设计(下)ppt课件(全)本章学习目标本章学习目标v了解基本类型包装器了解基本类型包装器v了解对象的比较了解对象的比较v掌握抽象类、接口及内部类的定义和使用掌握抽象类、接口及内部类的定义和使用v了解垃圾回收机制了解垃圾回收机制v掌握创建掌握创建jarjar包包第4章 面向对象程序设计(下)ppt课件(全)任务1-包装类的使用【任务内容任务内容】从命令行参数录入Person类的姓名和年龄【能力目标能力目标】v学会包装类的应用v掌握使用包装类进行类型转换v会使用包装类解决实际问题【任务分析任务分析】v按照之前学过的知识
2、,应用程序运行时,命令行提供的参数都是以字符串的形式存储在main方法的args字符串数组中,而Person类中的年龄却是以int类型存储,那么如何将字符串类型的年龄转变成int类型的年龄?4.1 包装类包装类第4章 面向对象程序设计(下)ppt课件(全)v范例:Str2IntExam.java vJava语言是一个面向对象的语言,但是Java中的基本数据类型却不是面向对象的,这在实际使用时存在很多不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类,这八个和基本数据类型对应的类统称为包装类或数据类型类。基本类型基本类型封装类封装类处理的数据类型处理的数据类型charChar
3、acter字符型数据booleanBoolean布尔型数据byteByte字节型整数数据shortShort短整型数据intInteger整型数据longLong长整型数据floatFloat单精度型浮点数据doubleDouble双精度型浮点数据第4章 面向对象程序设计(下)ppt课件(全)v对于包装类来说,主要包含两种用途:1)将字符串类型转换为基本类型)将字符串类型转换为基本类型封装类封装类返回类返回类型型方法描述方法描述用法举例用法举例BytebyteparseByte(String s)parseByte(String s,int r)byte bx=Byte.parseByte(“
4、123”);byte by=Byte.parseByte(“1011”,2)ShortshortparseShort(String s)parseShort(String s,int r)short sx=Short.parseShort(“2e”,16);IntegerintparseIntparseInt(String s)parseIntparseInt(String s,int r)String s=”673”;int ix=Integer.parseInt(s);LonglongparseLong(String s)parseLong(String s,int r)long lx=L
5、ong.parseLong(“23427”,8);FloatfloatparseFloat(String s)float fx=Float.parseFloat(“382.872”);DoubledoubleparseDouble(String s)double dx=Double.parseDouble(“82.382”);第4章 面向对象程序设计(下)ppt课件(全)2)封装基本类型,将基本类型当做对象类型用。方法如下:)封装基本类型,将基本类型当做对象类型用。方法如下:v包装类型包装类型 对象对象=new 包装类型包装类型(基本类型基本类型);v包装类型包装类型 对象对象=基本类型基本类
6、型;v包装类型包装类型 对象对象=new 包装类型包装类型(“基本类型基本类型”););例如:例如:vInteger value1=new Integer(30);vInteger value2=new Integer(“70”);vInteger value3=value1+value2;v/通过通过intValue()方法提取包装类的值方法提取包装类的值vSystem.out.println(value3.intValue();第4章 面向对象程序设计(下)ppt课件(全)任务2-比较两个对象是否相等v【任务内容任务内容】比较公司的两个员工是否相同v【能力目标能力目标】v了解两个对象之间如
7、何进行相等比较v掌握用equals比较两个对象v了解=运算符与equals比较对象相等的差异v学会运用对象相等比较解决实际问题v【任务分析任务分析】v公司雇员在程序中是以对象类型存储。然而对象是复合数据类型,那么如何才能比较两个对象是否相等。4.2 比较对象比较对象第4章 面向对象程序设计(下)ppt课件(全)v范例:Employee.java 1.“=”运算符比较对象相等 Java中,对象属于引用类型,对象实体存储在堆存储区中,对象变量位于栈存储区当中,变量中存储了对象实体在堆内存中的地址,“=”运算符只能比较对象变量中存储的地址是否相同而不能比较两个对象实体的内容是否相同。2.equals
8、()方法比较对象相等 equals方法是用来比较两个对象的内容是否相等,也就是判断两个对象间各个属性的值是否相同,equals方法是在Object中定义的。在Object类中,这个方法将判断两个对象是否具有相同的引用。如果两个对象具有相同的引用,它们一定是相等的。对于多数类来说,这种判断并没有什么意义。所以开发人员应当在自己的类当中重新实现该方法。第4章 面向对象程序设计(下)ppt课件(全)任务3-抽象类【任务内容任务内容】v设计工人模块和学生模块,两个模块都有说话方法,说话的内容要由工人或学生决定,同时这两个模块应共属同一类型人。【能力目标能力目标】v了解抽象类的概念v掌握抽象类的定义v学
9、会运用抽象类解决实际问题【任务分析任务分析】v该案例需要设计两个模块,即工人模块和学生模块,这两个模块既有相似之处,也有不同之处,为了最大限度的实现代码复最大限度的实现代码复用用,需要设计一个公共父类,包含有两个模块的公共方法,而两个模块只需要实现各自不同的行为即可。然而两个模块均有一公共方法,即说话的方法say(),需要在父类中定义,但具体说话内容两个模块却各有不同。现在引入一个问题,如果say()方法定义于父类,父类say()方法具体实现就没有了意义。4.3 抽象类与接口抽象类与接口第4章 面向对象程序设计(下)ppt课件(全)v范例:AbstractClassExam.javav抽象类:
10、就是不能使用new关键字进行实例化的类,即没有具体实例对象的类。抽象类通常不具备实际功能,不能创建对象,只作为专门用来派生其他子类的基类。定义抽象类的目的是为子类提供公共信息与接口。v抽象方法:是一种不完整的方法,它只包含有方法声明,而无方法体的定义,因而抽象方法是只有方法原型而无功能实现的一种行为规范,用来为所在类的子类声明方法的接口标准。第4章 面向对象程序设计(下)ppt课件(全)当声明类为抽象类时,需要在这个类前加修饰abstract抽象类通常包含若干个(可为零个)抽象方法;但不能在非抽象类中声明抽象方法抽象类不能创建对象,创建对象的工作由抽象类派生的非抽象子类来实现33343132抽
11、象类可以包含非抽象类所能包含的任何元素,这些要素包含具体的属性、非抽象方法以及多个重载的构造方法关于抽象类的说明第4章 面向对象程序设计(下)ppt课件(全)抽象类中不可包含抽象构造方法或抽象静态方法抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类若一个类中包含了至少一个抽象方法,则该类必须被声明为抽象类;但声明为抽象类的类不一定要包含抽象方法抽象类必须被子类继承,并由子类实现它的所有抽象方法没有所谓的最终抽象类,即抽象类不能再用final修饰类声明3536373839关于抽象类的说明(续)第4章 面向对象程序设计(下)ppt课件(全)不能创建abstract类的实例。然而可以创建一个引用
12、型变量,其类型为一个抽象类,并让它指向非抽象子类的一个实例抽象类中不能定义private类型的成员变量和成员方法若一个子类继承了一个抽象类,该子类没有实现抽象类中定义的每一个抽象方法,则该类仍然为抽象类,必须在它的类定义语句中加上abstract抽象修饰符。直到某个子类实现了它所有祖先类声明的抽象方法,该类才不再是抽象类,才能够生成实例对象310311312关于抽象类的说明(续)第4章 面向对象程序设计(下)ppt课件(全)抽象类的意义抽象类的意义抽象类的意义抽象类的意义 3533343132抽象类实现自然界的抽象概念,体现数据抽象的思想,是实现程序多态性的一种手段抽象类是类层次中较高层次的概
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 ppt 课件
限制150内