- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一知识回顾之面向对象
第一讲(2) 面向对象程序设计 第二篇 第7章~第10章 复习大纲 面向对象回顾 面向对象的基本概念 Static回顾 类的访问权限 内部类、匿名类、不可变类 构造函数 垃圾回收 类的使用 1、面向对象基本概念 (1)对象 (2)对象的状态和行为 (3)类 (4)类的结构 (5)消息和方法 1、面向对象基本概念 对象 万事万物皆对象 先有类,再有对象(先有模型,才能进行生产制造) 类是创造对象的模型 对象要包含相应的属性和方法(一个事物的属性状态和行为状态) 1.1类与对象 1.2类与对象的表达 类定义 Class 类名{ 属性(成员变量定义) 方法(成员方法定义) } Java程序的每个变量定义,方法定义都必须包含在class的定义中 每一个class的内容都体现的是一类事物的属性和行为 1.2类与对象的表达 1.3 成员变量 1.4 成员方法 1.4 构造函数 构造函数 构造方法的特征 它具有与类相同的名称; 它不含返回值; 它不能在方法中用return语句返回一个值 注意:在构造方法里不含返回值的概念是不同于“void”的,在定义构造方法时加了“void”,结果这个方法就不再被自动调用了。 public Person(){} != public void Person(){} 构造方法的作用: 当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。这就好像我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的构造方法中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自动完成“洗澡”,程序就不必再在每个人刚出生时一个一个地告诉他们要“洗澡”了。 构造方法调用举例 1.4 构造函数 构造方法重载 和一般的方法重载一样,重载的构造方法具有不同个数或不同类型的参数,编译器就可以根据这一点判断出用new 关键字产生对象时,该调用哪个构造方法了。产生对象的格式是:new 类名(参数列表) ; class Person{ String name; int age; Person(String name, int age){ This.name = name; This.age = age; } } 重载构造方法可以完成不同初始化的操作, 如:p1=new Person(“Tom”,18);语句,会做这样几件事:创建指定类的新实例对象,在堆内存中为实例对象分配内存空间,进行成员变量初始化,调用指定类的构造方法,最后将实例对象的首地址赋值给引用变量p1。 1.4 构造函数 p1=new Person(“Tom”,18) 的内存状态变化过程分析 1.5 类和对象的使用 通过类生成对象(实例) 类名 变量名 = new 类名([参数列表]); 1.6 示例 class Person { int age; void shout() { System.out.println(“oh,my god! I am “ + age); } } age是类的属性 ,也叫类成员变量 。 shout是方法也叫类的成员函数。 shout方法可以直接访问同一个类中的age变量 ,如果一个方法中有与成员变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量。 1.6 示例 Person p1 = new Person();执行完后的内存状态(与基本类型变量比较) 当一个对象被创建时,会对其中各种类型的成员变量自动进行初始化赋值。除了基本数据类型之外的都是变量类型都是引用类型,如上面的Person及前面讲过的数组。 1.6 示例 创建新的对象之后,我们就可以使用“ 对象名.对象成员 ”的格式,来访问对象的成员(包括属性和方法) class TestPerson { public static void main(String[] args) { Person p1 = new Person(); Person p2 =new Person(); p1.age = -30; p1.shout(); p2.shout(); } } 上面程序运行的内存布局如下图 1.7 对象的生命周期 1.8 对象的比较 “==”运算符与equals()方法的区别(示例) 怎样比较两个数组对象的内容是否相等 课堂练习: 方法重载练习 重载方法,参数顺序不同 涉及基本类型的重载,需要注意(基本类型的自动转换) char、byte、short 容量小的数据类型想容量大的数据类型 可不可以根据返回值类型进行方法方法重载的区分呢? 课堂练习: 构造方法及对象使用Person 1、没有添加任何构造函数 2、添加一个没有参
您可能关注的文档
最近下载
- 【Renesas】CAN入门书.pdf
- 页岩砖项目可行性研究报告.docx
- 公路建设安全管理台帐(参考)用表格模板6182.pdf
- 2024-2030年中国捡石机行业市场发展趋势与前景展望战略分析报告.docx
- 高中英语教学课件:教学课件Unit 3 Environmental Protection Project.pptx
- (高清版)B-T 3836.1-2021 爆炸性环境 第1部分:设备 通用要求.pdf VIP
- 车位进行特许权经营服务投标方案(技术方案).pdf
- 基于5G通信的智能移动终端设计与实现.docx VIP
- 数智化赋能高校“一站式”学生社区建设.docx VIP
- 推进高校“一站式”学生社区建设.docx VIP
文档评论(0)