- 1、本文档共132页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3 类与对象 4 继承与多态--面向对象程序设计 面向对象程序设计语言的特点 封装—将数据和处理数据方法组合在一起,并可以控制成员的可见性。 继承—拓展现存的类来生成专有类,继承原来类的状态和行为的能力 多态—同名的方法具有不同的功能. 对象(Object) 一切都是对象。对象:1.属性(状态); 2.行为. 类(Class) 类是描述对象的蓝图,它定义了一类对象所共有的变量和方法。 类的实例是对象。 E在面向对象的程序设计中,类是程序的基本单元,一个类是定义一种对象的模板。它规定了对象的数据结构,以及用于那些数据的操作。类还是创建对象的“工厂”。类确定了对象的能力。 比较 结构化(面向过程)程序设计 对应的典型的计算机语言, 例如: C 面向操作(action)的 函数(方法)是程序的基本单位 面向对象程序设计 对应的典型的计算机语言, 例如: Java 面向对象(object)的 类(class)是程序的基本单位 方法(函数)被封装在类中 数据也被封装在类中 设计的时候从类(对象)的层面上思考问题 举例:我开车去上海 面向过程: 我开车,我踩油门,我挂档…… 我过宁波,我过杭州…… 面向对象: 我命令车去上海:车.去(“上海”), car.go(“sh”) 车怎么去不关我的事儿 信息封装在车这个类的内部 我不用去了解车开动的过程 内容 1. 类的定义 数据成员,方法(重载、参数传递、返回值) 2. 构造方法,成员初始化 3. 对象的创建和使用 4. static关键字 5. this关键字 6. 包(package和import语句) 7. 继承 内容 8.访问控制 9.方法隐藏和方法覆盖 10. super关键字 11. 数组 12. 组合 13. 多态 14. final关键字 15. 接口与抽象类 类的定义 public class Student{//类的声明 private String name;//变量的定义 private int age; public String getName(){//方法的定义 return Name; } public Student(String n, int a){//构造方法 name = n; age = a; }} 类的定义 类的定义格式如下(方括号的意思是“可选”): [类修饰词] class 类名 [extends 父类名] [implements 接口名称列表] { 类体 } 多个类组成的程序 很多Java程序需要多个类完成一项任务 一个.java文件可以含有多个类,但其中只有一个public类, 且该类必须与.java源文件同名 每个文件的长度一般不要太长 一般不要超过2000行 对于大规模的程序,需要组织成多个.java文件,形成一个项目(project),有时还要多个项目一起协作,构成一个工作空间(workspace) 成员变量定义 每个成员变量都必须隶属于某个类 成员变量定义的格式: [成员变量修饰词] 类型 变量名 当产生对象时,如果不对成员变量的值进行初始化,这些成员变量也有默认的值: 成员变量的修饰词 访问控制:public, protected, (package,无关键字), private之一。控制哪些类可以访问成员变量。 static:声明这是一个类变量,而非实例变量。类变量的值对于所有的实例来说都是相同的。 final:表明这个成员是一个常量。 final double PI=3.1415926; transient, volatile 方法定义 每个方法都必须隶属于某个类 方法定义的格式: [方法修饰词] 返回类型 方法名(方法的参数列表) { 方法体 } 返回类型: 返回数据的数据类型 除了构造方法,一般要求返回类型: 要么为void ,要么为某种数据类型如int、byte、float或String 最多只能返回一个值 方法名: 任何一个合法的标识符 参数列表: 用逗号(,)分隔开 方法的修饰词 访问控制:public, protected, ( package,无关键字), private之一。控制哪些类可以访问此方法。 static:声明这是一个类方法,而非实例方法。注意:由于静态方法不是对类的实例进行操作,所以它只能访问和操作静态变量(类变量)。 类方法的调用格式:类名.静态方法名(参数列表) final:方法不能被子类覆盖。 synchronized:并发线程常常调用在相同的数据上进行操作的方法,加上synchronized关键字可以确保线程安全地
您可能关注的文档
- Java 2实用教程课件(第2章).ppt
- Java 2实用教程课件(第3版第1章 Java 语言入门).ppt
- Java 2实用教程课件(第3版第4章 类、对象和接口).ppt
- Java 2实用教程课件(第3版第4章).ppt
- Java 2实用教程课件(第3版第5章 字符串).ppt
- Java 2实用教程课件(第3版第5章).ppt
- Java 2实用教程课件(第3版第6章).ppt
- Java 2实用教程课件(第3版第8章).ppt
- Java 2实用教程课件(第3版第9章).ppt
- Java 2实用教程课件(第3版第10章).ppt
- 2025届辽宁省教研教改联合体高三上学期一模物理试题(解析版).pdf
- 湖北省重点高中智学联盟 2025 届新高三 8 月联考考试生物试卷及答案.pdf
- 河北省唐山市第一中学2024-2025学年高三第一学期开学考试物理试题及答案.pdf
- 湖北省重点高中智学联盟 2025 届新高三 8 月联考考试语文试卷及答案.pdf
- 广东省三校“决胜高考,梦圆乙巳”2025届高三上学期第一次联合模拟考试化学试题+答案.pdf
- 湖北省重点高中智学联盟 2025 届新高三 8 月联考考试地理试题及答案.pdf
- 山西省朔州市怀仁市第一中学校2025届高三上学期摸底考试语文试题(含答案).pdf
- 2024年典韦杯暑期联考高三7月数学试题(解析版).pdf
- 北京市新高考第一届NBchem+2025届高三上学期8月高考模拟联考化学试卷+答案.pdf
- 湖北省重点高中智学联盟 2025 届新高三 8 月联考考试物理试卷及答案.pdf
文档评论(0)