java面向对象程序设计第2版第4章-类与对象.ppt
《java面向对象程序设计第2版第4章-类与对象.ppt》由会员分享,可在线阅读,更多相关《java面向对象程序设计第2版第4章-类与对象.ppt(50页珍藏版)》请在三一办公上搜索。
1、Java面向对象程序设计第2版 第4章,配合第2版 例子源代码一起使用,Power point 制作:耿祥义 张跃平,类与对象,主要内容类对象参数传值对象组合static关键字this关键字包import语句jar文件难点参数传值与对象组合包和import语句,导读,4.1 编程语言的几个发展阶段,面向机器语言 面向过程语言 面向对象语言 面向对象编程主要体现下列三个特性 封装性 继承 多态,4.2 类,类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类是用来定义对象的模板。类的实现包括两部分:类声明和类体。基本格式为:class 类名 类体的内容,4.2.1 类声明,类声明:c
2、lass 类名 如:class People”和“class 动物”称作类声明;“People”和“动物”分别是类名。给类命名时,遵守下列编程风格(这不是语法要求的,但应当遵守):1如果类名使用拉丁字母,那么名字的首字母使用大写字母,如。2类名最好容易识别、见名知意。当类名由几个“单词”复合而成时,每个单词的首字母使用大写。,4.2.2 类体,类声明之后的一对大括号“”,“”以及它们之间的内容称作类体,大括号之间的内容称作类体的内容。类体的内容由两部分构:一部分是变量的声明,用来刻画属性;另一部分是方法的定义,用来刻画功能。,4.2.3 成员变量和局部变量,类体中变量声明部分所声明的变量被称作
3、类的成员变量。在方法体中声明的变量和方法的参数被称作局部变量。1变量的类型:成员变量和局部变量的类型可以是Java中的任何一种数据类型,包括基本类型:整型、浮点型、字符型;引用类型:数组、对象和接口(对象和接口见后续内容)。2变量的有效范围:成员变量在整个类内都有效,局部变量只在声明它的方法内有效。方法参数在整个方法内有效,方法内的局部变量从声明它的位置之后开始有效。3实例变量与类变量:在声明成员变量时,用关键字static给予修饰的称作类变量,否则称作实例变量(类变量也称为static变量,静态变量)。4成员变量的隐藏:如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量
4、在这个方法内暂时失效。5编程风格(1)一行只声明一个变量。(2)变量的名字符合标识符规定。(3)变量名字见名知意,避免容易混淆的变量名字。,4.2.4 方法,方法的定义包括两部分:方法声明和方法体。一般格式为:方法声明部分 方法体的内容 1方法声明 方法声明包括方法名和方法的返回类型,如:float area()注:方法的返回类型、方法的参数、方法的名字 2方法体 方法声明之后的一对大括号“”,“”以及之间的内容称作方法的方法体。方法体的内容包括局部变量的声明和Java语句。,4.2.5 方法重载,方法重载的意思是:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的
5、个数不同,或者是参数的类型不同。,4.2.6 构造方法,构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型,构造方法也可以重载。,4.2.7 类方法和实例方法,方法声明时,方法类型前面不加关键字static修饰的是实例方法、加static修饰的是类方法(静态方法)。,4.2.8 几个值得注意的问题,1对成员变量的操作只能放在方法中,方法可以对成员变量和该方法体中声明的局部变量进行操作。2需要注意的是:实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作。3一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法;类中的类方法只能调用该类的类方法
6、,不能调用实例方法。,4.3 对象4.3.1 创建对象,1对象的声明 People zhangPing;2.为声明的对象分配内存 zhangPing=new People();例4-1,例4-23对象的内存模型(1)声明对象时的内存模型(2)对象分配内存后的内存模型4创建多个不同的对象,4.3.2 使用对象,1通过使用运算符“.”对象操作自己的变量(对象的属性)2使用运算符“.”,对象调用类中的方法(对象的功能)例4-3,4.3.3 对象的引用和实体,当用类创建一个对象时,类中的成员变量在分配内存空间,这些内存空间称作该对象的实体或对象的变量,而对象中存放着引用。一个类创建的两个对象,如果具有
7、相同的引用,那么就具有完全相同的实体。,4.4 参数传值 4.4.1 基本数据类型参数的传值,对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。例4-4,4.4.2 引用类型参数的传值,当参数是引用类型时,“传值”传递的是变量中存放的“引用”,而不是变量所引用的实体。例4-5,4.4.3 可变参数,可变参数是指在声明方法时不给出参数列表中从某项直至最后一项参数的名字和个数,但这些参数的类型必须相同。可变参数使用“”表示若干个参数,这些参数的类型必须相同,最后一个参数必须是参数列表中的最后一个参数。例如:public void f(int.x)例4-6,4.4.4 有理数的类
8、封装,面向对象编程核心思想之一就是将数据和对数据的操作封装在一起。1Rational(有理数)类 2用Rational对象做运算 Rational.java MainClass.java,4.5 对象的组合,一个类可以把对象作为自己的成员变量,如果用这样的类创建对象,那么该对象中就会有其它对象,也就是说该对象将其他对象作为自己的组成部分,或者说该对象是由几个对象组合而成。例4-7,4.6 static关键字,4.6.1 实例变量和类变量的区别,如果类中有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其它对象的这个类变量。也就是说对象共享类变量。例4-
9、8,4.6.2 实例方法和类方法的区别,当用类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。对于类中的类方法,在该类被加载到内存时,就分配了相应的入口地址。例4-9,4.7 this 关键字,this是Java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但不可以出现在类方法中。,4.7.1 在构造方法中使用this,this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。例4-10,4.7.2 在实例方法中使用this,当this关键字出现实例方法中时,代表正在调用该方法的当前对象。当实例成员变量在实例方法中出现时,
10、默认的格式是:this.成员变量。当static成员变量在实例方法中出现时,默认的格式是:类名.成员变量。,4.8 包,包是Java语言中有效地管理类的一个机制。包名的目的是有效的区分名字相同的类。,4.8.1 包语句,通过关键字package声明包语句。package语句作为Java源文件的第一条语句,为该源文件中声明的类指定包名。package语句的一般格式为:package 包名;,4.8.2 有包名的类的存储目录,程序如果使用了包语句,例如:package tom.jiafei;那么存储文件的目录结构中必须包含有如下的结构 tomjiafei 如:c:1000tomjiafei 并且要
11、将源文件编译得到的类的字节码文件保存在目录c:1000tomjiafei中(源文件可以任意存放)。,4.8.3 运行有包名的主类,如果主类的包名是tom.jiafei,那么主类的字节码一定存放在tomjiefei目录中,运行时必须到tomjiefei的上一层(即tom的父目录)目录中去运行主类。假设tomjiefei的上一层目录是1000,那么,必须如下格式来运行:C:1000java tom.jiafei.主类名 注:主类名是:“包名.主类名”例4-11,4.9 import 语句,一个类可能需要另一个类声明的对象作为自己的成员或方法中的局部变量,如果这两个类在同一个包中,当然没有问题。如果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 程序设计
链接地址:https://www.31ppt.com/p-6510302.html