- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java语言类与对象.ppt
* * * * * * * * * * * * * * * * * * * * * Java语言程序设计 资源与环境科学学院 第四章 类与对象 面向对象的概念 面向过程 在一个结构体中定义窗口的大小,位置,颜色,背景等属性,对窗口进行操作的函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个代表要被操作的窗口参数 。 面向对象 定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作 ,如隐藏,移动,最小化等。这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动的语法格式来使用的 ,这是一种主语与谓语的关系。 面向对象的三大特征 封装 (Encapsulation) 继承 (Inheritance) 多态 (Polymorphism) 类与对象 类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例 (instance)。 如果类是汽车的设计图纸,那么将对象比作一辆辆的汽车 。所以面向对象程序设计的重点是类的设计,而不是对象的设计。 Java类的声明 类声明语法: [ 类修饰符] class 类名 [ extends 父类名 ] [ implements 接口名 ] { 成员变量定义; 成员方法定义; } 实例:书P66 类与对象 class Person { int age; void shout() { System.out.println(“oh,my god! I am “ + age); } } age是类的属性 ,也叫类成员变量 。 shout是方法也叫类的成员函数。 shout方法可以直接访问同一个类中的age变量 ,如果一个方法中有与成员变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量。 对象的创建 Person p1 = new Person(); 执行完后的内存状态 当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的变量类型都是引用类型。 对象的使用 创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的成员(包括属性和方法) class TestPerson { public static void main(String[] args) { Person p1 = new Person(); Person p2 =new Person(); p1.age = 30; p1.shout(); p2.shout(); } } 对象的生命周期 对象的比较 “==”运算符与equals()方法的区别 “==”运算符用于比较两个变量的值是否相等 equals()方法比较两个对象中的内容是否一致 class test { public static void main(String [] arg) { String str1 = new String(“abc”); String str2 = new String(“abc”); String str3 = str1; if (str1 == str2) System.out.println(“true”); else System.out.println(“false”); } } False,因为两个对象的首地址不一样,str1是第一个对象首地址,str2是第二个对象的首地址。 str1.equals(str2)? 类的封装性 如果外面的程序可以随意修改一个类的成员变量,会造成不可预料的程序错误,就象一个人的身高,不能被外部随意修改,只能通过各种摄取营养的方法去修改这个属性。 在定义一个类的成员(包括变量和方法)时,使用private关键字说明这个成员的访问权限,这个成员成了类的私有成员,只能被这个类的其他成员方法调用,而不能被其他的类中的方法所调用。 对一个变量的操作,一般都有读取和赋值操作,我们分别定义两个方法来实现这两种操作,一个是getXxx()(Xxx表示要访问的成员变量的名字),用来读取这个成员变量操作,另外一个是setXxx()用来对这个成员变量赋值。 类的封装性 一个类通常就是一个小的模块,我们应该让模块仅仅公开必须要让外界知道的内容,而隐藏其它一切内容。 我们在进行
文档评论(0)