Java面向对象程序设计第4章类与对象课件.ppt





《Java面向对象程序设计第4章类与对象课件.ppt》由会员分享,可在线阅读,更多相关《Java面向对象程序设计第4章类与对象课件.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java面向对象程序设计面向对象程序设计第第4章章配合例子源代码一起使用例子源代码一起使用Power point 制作:耿祥义 张跃平类与对象 2010-1-101主要内容主要内容类类对象对象参数传值参数传值对象组合对象组合static关键字关键字this关键字关键字包包import语句语句jar文件文件难点难点参数传值与对象组合参数传值与对象组合包和包和import语句语句导读导读2010-1-1024.1编程语言的几个发展阶段编程语言的几个发展阶段 面向机器语言面向机器语言面向过程语言面向过程语言 面向对象语言面向对象语言 面向对象编程主要体现下列三个特性 封装性 继承 多态 2010-1
2、-1034.2类类类类是是组组成成JavaJava程程序序的的基基本本要要素素。类类封封装装了了一一类类对对象象的的状状态态和和方方法法。类类是是用用来来定定义义对对象象的的模板。模板。类类的的实实现现包包括括两两部部分分:类类声声明明和和类类体体。基基本格式为:本格式为:class class 类名类名 类体的内容类体的内容 2010-1-1044.2.1类声明类声明 类声明类声明 :class类名类名 如:class People”和“class 动物”称作类声明;“People”和“动物”分别是类名。给给类类命命名名时时,遵遵守守下下列列编编程程风风格格(这这不不是是语语法法要要求求的,
3、但应当遵守):的,但应当遵守):1如果类名使用拉丁字母,那么名字的首字母使用大写字母,如。2类名最好容易识别、见名知意。当类名由几个“单词”复合而成时,每个单词的首字母使用大写。2010-1-1054.2.2类体类体 类类声声明明之之后后的的一一对对大大括括号号“”,“”以以及及它它们们之之间间的的内内容容称称作作类类体体,大大括括号号之之间间的的内内容容称称作作类体的内容。类体的内容。类类体体的的内内容容由由两两部部分分构构:一一部部分分是是变变量量的的声声明明,用用来来刻刻画画属属性性;另另一一部部分分是是方方法法的的定定义义,用用来来刻刻画功能。画功能。2010-1-1064.2.3成员
4、变量和局部变量成员变量和局部变量 类类体体中中变量声明部分所声明的变量被称作类的成员变量。在方法体中声明的变量和方法的参数被称作局部变量。1变变量量的的类类型型:成员变量和局部变量的类型可以是Java中的任何一种数据类型,包括基本类型:整型、浮点型、字符型;引用类型:数组、对象和接口(对象和接口见后续内容)。2变变量量的的有有效效范范围围:成员变量在整个类内都有效,局部变量只在声明它的方法内有效。方法参数在整个方法内有效,方法内的局部变量从声明它的位置之后开始有效。3实实例例变变量量与与类类变变量量:在声明成员变量时,用关键字static给予修饰的称作类变量,否则称作实例变量(类变量也称为st
5、atic变量,静态变量)。4成成员员变变量量的的隐隐藏藏:如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效。5编程风格编程风格(1)一行只声明一个变量。(2)变量的名字符合标识符规定。(3)变量名字见名知意,避免容易混淆的变量名字。2010-1-1074.2.4方法方法 方方法法的的定定义义包包括括两两部部分分:方方法法声声明明和和方方法法体体。一一般般格格式为:式为:方法声明部分方法声明部分方法体的内容方法体的内容 1方法声明 方法声明包括方法名和方法的返回类型,如:floatarea()注:注:方法的返回类型方法的返回类型、方法的参数、方法的名字
6、方法的参数、方法的名字2方法体 方法声明之后的一对大括号“”,“”以及之间的内容称作方法的方法体。方法体的内容包括局部变量的声明和Java语句。2010-1-1084.2.5方法重载方法重载 方方法法重重载载的的意意思思是是:一一个个类类中中可可以以有有多多个个方方法法具具有有相相同同的的名名字字,但但这这些些方方法法的的参参数数必必须须不不同同,即即或或者者是是参参数数的的个个数数不不同同,或或者者是是参参数数的的类类型不同。型不同。2010-1-1094.2.6构造方法构造方法 构构造造方方法法是是一一种种特特殊殊方方法法,它它的的名名字字必必须须与与它它所所在在的的类类的的名名字字完完全
7、全相相同同,而而且且没没有有类类型型,构造方法也可以重构造方法也可以重载载。2010-1-10104.2.7类方法和实例方法类方法和实例方法 方方法法声声明明时时,方方法法类类型型前前面面不不加加关关键键字字staticstatic修修饰饰的的是是实实例例方方法法、加加staticstatic修修饰饰的的是是类方法(静态方法)。类方法(静态方法)。2010-1-10114.2.8几几个值得注意的问题个值得注意的问题 1 1对对成成员员变变量量的的操操作作只只能能放放在在方方法法中中,方方法法可可以以对对成成员员变变量量和和该该方方法法体体中中声声明明的的局局部部变变量进行操作。量进行操作。2
8、2需需要要注注意意的的是是:实实例例方方法法既既能能对对类类变变量量操操作作也也能能对对实实例例变变量量操操作作,而而类类方方法法只只能能对对类类变变量进行操作。量进行操作。3 3一一个个类类中中的的方方法法可可以以互互相相调调用用,实实例例方方法法可可以以调调用用该该类类中中的的其其它它方方法法;类类中中的的类类方方法法只只能调用该类的类方法,不能调用实例方法。能调用该类的类方法,不能调用实例方法。2010-1-10124.3对象对象4.3.1创建对象创建对象1 1对象的声明对象的声明PeoplezhangPing;2.2.为声明的对象分配内存为声明的对象分配内存 zhangPing=new
9、 People();zhangPing=new People();例例4-1,4-1,例例4-24-23 3对象的内存模型对象的内存模型 (1 1)声明对象时的内存模型声明对象时的内存模型(2 2)对象分配内存后的内存模型对象分配内存后的内存模型4 4创建多个不同的对象创建多个不同的对象 2010-1-10134.3.2使用对象使用对象 1 1通通过过使使用用运运算算符符“.”“.”对对象象操操作作自自己己的的变变量量(对象的属性)(对象的属性)2 2使使用用运运算算符符“.”,“.”,对对象象调调用用类类中中的的方方法法(对对象的功能)象的功能)例例4-34-3 2010-1-10144.3
10、.3对象的引用和实体对象的引用和实体 当当用用类类创创建建一一个个对对象象时时,类类中中的的成成员员变变量量在在分分配配内内存存空空间间,这这些些内内存存空空间间称称作作该该对对象象的的实实体体或或对对象象的的变变量量,而而对对象象中中存存放放着着引引用。用。一一个个类类创创建建的的两两个个对对象象,如如果果具具有有相相同同的的引引用用,那那么么就就具具有有完完全相同的实体。全相同的实体。2010-1-10154.4参数传值参数传值4.4.1基本数据类型参数的传值基本数据类型参数的传值 对对于于基基本本数数据据类类型型的的参参数数,向向该该参参数数传传递递的值的级别不可以高于该参数的级别的值的
11、级别不可以高于该参数的级别。例例4-44-4 2010-1-10164.4.2引用类型参数的传值引用类型参数的传值 当当参参数数是是引引用用类类型型时时,“传传值值”传传递递的的是是变变量中存放的量中存放的“引用引用”,而不是变量所引用的实体。,而不是变量所引用的实体。例例4-54-5 2010-1-10174.4.3可变参数可变参数 可可变变参参数数是是指指在在声声明明方方法法时时不不给给出出参参数数列列表表中中从从某某项项直直至至最最后后一一项项参参数数的的名名字字和和个个数数,但但这这些些参参数数的的类类型型必必须须相相同同。可可变变参参数数使使用用“”“”表表示示若若干干个个参参数数,
12、这这些些参参数数的的类类型型必必须须相相同同,最最后后一个参数必须是参数列表中的最后一个参数。一个参数必须是参数列表中的最后一个参数。例如:例如:public void f(int.x)public void f(int.x)例例4-64-62010-1-10184.4.4有理数的类封装有理数的类封装 面面向向对对象象编编程程核核心心思思想想之之一一就就是是将将数数据据和和对对数据的操作封装在一起。数据的操作封装在一起。1 1RationalRational(有理数)类有理数)类 2 2用用RationalRational对象做运算对象做运算 Rational.javaRational.jav
13、a MainClass.java MainClass.java 2010-1-10194.5对象的组合对象的组合 一一个个类类可可以以把把对对象象作作为为自自己己的的成成员员变变量量,如如果果用用这这样样的的类类创创建建对对象象,那那么么该该对对象象中中就就会会有有其其它它对对象象,也也就就是是说说该该对对象象将将其其他他对对象象作作为为自自己己的的组组成成部部分分,或或者者说说该该对对象象是是由由几几个个对对象象组合而成。组合而成。例例4-74-7 2010-1-10204.6staticstatic关键字关键字 用static 修饰的变量 类变量类变量没有用static 修饰的变量 实例变
14、量实例变量方法声明中用static 修饰的方法类方法类方法方法声明中不用static 修饰的方法实例方法实例方法2010-1-10214.6.1实例变量和类变量的区别实例变量和类变量的区别 如如果果类类中中有有类类变变量量,那那么么所所有有对对象象的的这这个个类类变变量量都都分分配配给给相相同同的的一一处处内内存存,改改变变其其中中一一个个对对象象的的这这个个类类变变量量会会影影响响其其它它对对象象的的这这个个类类变变量。也就是说对象共享类变量。量。也就是说对象共享类变量。例例4-84-8 2010-1-10224.6.2实例方法和类方法的区别实例方法和类方法的区别 当当用用类类创创建建对对象
15、象后后,类类中中的的实实例例方方法法才才分分配配入入口口地地址址,从从而而实实例例方方法法可可以以被被类类创创建建的的任任何何对对象调用执行。象调用执行。对对于于类类中中的的类类方方法法,在在该该类类被被加加载载到到内内存存时时,就分配了相应的入口地址。就分配了相应的入口地址。例例4-94-9 2010-1-10234.7this this 关键字关键字 this是Java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中。2010-1-10244.7.1在构造方法中使用在构造方法中使用this thisthis关关键键字字出出现现在在类类的的构构造造方
16、方法法中中时时,代代表表使用该构造方法所创建的对象。使用该构造方法所创建的对象。例例4-104-10 2010-1-10254.7.2在实例方法中使用在实例方法中使用this 当当thisthis关关键键字字出出现现实实例例方方法法中中时时,代代表表正正在在调用该方法的当前对象。调用该方法的当前对象。当当实实例例成成员员变变量量在在实实例例方方法法中中出出现现时时,默默认认的的格式是:格式是:this.this.成员变量。成员变量。当当staticstatic成成员员变变量量在在实实例例方方法法中中出出现现时时,默默认的格式是:认的格式是:类名类名.成员变量。成员变量。2010-1-10264
17、.8包包 包是包是Java语言中有效地管理类的一个机制。语言中有效地管理类的一个机制。包名的目的是有效的区分名字相同的类。包名的目的是有效的区分名字相同的类。2010-1-10274.8.1包语句包语句通过关键字通过关键字packagepackage声明包语句。声明包语句。packagepackage语语句句作作为为JavaJava源源文文件件的的第第一一条条语语句句,为该源文件中声明的类指定包名。为该源文件中声明的类指定包名。package package语句的一般格式为:语句的一般格式为:package package 包名包名;2010-1-10284.8.2有包名的类的存储目录有包名的
18、类的存储目录程序如果使用了包语句,例如:程序如果使用了包语句,例如:package tom.jiafeipackage tom.jiafei;那那么么存存储储文文件件的的目目录录结结构构中中必必须须包包含含有有如如下下的的结结构构tomjiafeitomjiafei如:如:c:1000tomjiafei c:1000tomjiafei 并并且且要要将将源源文文件件编编译译得得到到的的类类的的字字节节码码文文件件保保存存在在目目录录c:1000tomjiafei中中(源源文文件件可可以以任任意意存存放)。放)。2010-1-10294.8.3运行有包名的主类运行有包名的主类 如如果果主主类类的的
19、包包名名是是tom.jiafei,那那么么主主类类的的字字节节码码一一定定存存放放在在tomjiefei目目录录中中,运运行行时时必必须须到到tomjiefei的的上上一一层层(即即tom的的父父目目录录)目目录录中中去运行主类。去运行主类。假假设设tomjiefei的的上上一一层层目目录录是是1000,那那么么,必必须如下格式来运行:须如下格式来运行:C:1000java tom.jiafei.C:1000java tom.jiafei.主类名主类名 注:主类名是:注:主类名是:“包名包名.主类名主类名”例例4-114-112010-1-10304.9import import 语句语句 一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 程序设计 课件

限制150内