教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

Java 第5章 类和对象-1

来源:网络收集 时间:2026-05-16
导读: 计算机科学与技术,Java 第三篇 Java语言的面向对象机制 Java语言的面向对象机制 第五章 类和对象 计算机科学与技术,Java 第五章 类和对象 5.1 简单的类 5.2 域 5.3 访问控制 5.4 创建对象 5.5 构造与初始化 5.6 方法 5.7 this引用 this引用 5.8 方法的名复用

计算机科学与技术,Java

第三篇

Java语言的面向对象机制 Java语言的面向对象机制 第五章 类和对象

计算机科学与技术,Java

第五章 类和对象 5.1 简单的类 5.2 域 5.3 访问控制 5.4 创建对象 5.5 构造与初始化 5.6 方法 5.7 this引用 this引用 5.8 方法的名复用 5.9 main方法 main方法 5.10 native方法 native方法 5.11 小结

计算机科学与技术,Java

5.1 简单的类

类:汇集一套数据并定义所有访问、使用和修 汇集一套数据 定义所有访问、 数据并 所有访问 改这些数据的方法。 改这些数据的方法。 基于Java的面向对象设计需严格区别“做什么” 基于Java的面向对象设计需严格区别 做什么” 的面向对象设计需严格区别“ 怎么做” 与“怎么做”,方法的约定规定了当调用一个 对象的方法时将会发生什么。 对象的方法时将会发生什么。做什么 设计者 方法的约定:方法的基调和语义。 方法的约定:方法的基调和语义。 怎么做 使用者

计算机科学与技术,Java

5.1 简单的类 类的基本成份:域(数据)和方法(处理数据的代码)。 类的基本成份: 数据)和方法(处理数据的代码)。 类的三种成员: 类的三种成员:– 域(field):与类及其对象相关联的数据变量,以保存类或对象的状态。 (field):与类及其对象相关联的数据变量,以保存类或对象的状态。 – 方法(method):包含类的可执行代码,定义了对象的行为。 方法(method):包含类的可执行代码,定义了对象的行为。 – 内嵌类(nested class)和内嵌接口(nested interface):在其他类或接口中说明的类或 内嵌类(nested class)和内嵌接口 和内嵌接口(nested interface): 接口。 接口。public class Body { public long idNum; public String nameFor; public Body orbits; public static long nextID = 0; } // 与天体相关的类 public class StopLight { int RedGreenYellow; 方法 changeLight( ){ 域 RedGreenYellow = ++ RedGreenYellow; } } //交通信号类 //交通信号类

上述类的说明创建了一个类型名,对该类型对象的引用可简单地说明如下: 上述类的说明创建了一个类型名,对该类型对象的引用可简单地说明如下:Body mercury; 仅说明了一个Body对象的引用,还没有创建一个对象 对象的引用, 仅说明了一个 对象的引用

此时mercury引用被初始化为null。在显式地创建对象之前, mercury引用 此时mercury引用被初始化为 引用被初始化为null。在显式地创建对象之前, mercury引用 的对象尚未真正存在Body mercury = new Body( ); mercury引用的对象存在了 引用的对象存在了

计算机科学与技术,Java

5.1 简单的类 类修饰符(指定类的特殊性质) 类修饰符(指定类的特殊性质) public 缺省 公共可访问的类 包内可访问的类

abstract 抽象类,不能创建对象 抽象类, final 不能有子类

strictfp 类中采

用严格浮点数格式执行浮点计算注意:每个源文件中最多只能有一个public类。因为Java要求 注意:每个源文件中最多只能有一个public类 因为Java要求 含有public类的源文件名必须与该类名相同 类的源文件名必须与该类名相同。 含有public类的源文件名必须与该类名相同。

计算机科学与技术,Java

5.2 域 类中作为成员的变量。 类中作为成员的变量。 与C++不同,可对类中的域赋予初始值。 C++不同 可对类中的域赋予初始值。 不同, 对每个对象各自的域赋值,意味着每个对象都有自己独 对每个对象各自的域赋值, 特的状态。除非静态域, 特的状态。除非静态域,否则不同对象间的域不会互相 影响。 影响。public class Body { public long idNum; // public String nameFor; // public Body orbits; // public static long nextID = 0; // }

唯一地标识一个天体 该天体的名字 该天体围绕着转的其它天体 后继天体的标识

计算机科学与技术,Java

5.2 域--初始化 --初始化 初始化可采用(类型必须正确) 初始化可采用(类型必须正确)– – – – 常量 域 不能引发检测性异常---尚未建立捕捉异常的代码 方法调用 // 不能引发检测性异常---尚未建立捕捉异常的代码 上述三个的组合构成的表达式

double zero = 0.0; //常量 常量 double sum = 4.5+3.7; //常量表达式 常量表达式 double zeroCopy = zero; //域 域 double rootTwo = Math.sqrt(2); //方法调用 方法调用 double someVal = sum + 2 * Math.sqrt(rootTwo); //组合 组合

计算机科学与技术,Java

5.2 域--静态域 --静态域 静态域(类变量、类域):类的所有对象共享的域。 静态域(类变量、类域):类的所有对象共享的域。 ):类的所有对象共享的域 由该类创建的所有对象共享这个域的单个值。 由该类创建的所有对象共享这个域的单个值。 类的静态域在加载类时初始化。 类的静态域在加载类时初始化。 加载类时初始化public class Body { public long idNum; // public String nameFor; // public Body orbits; // public static long nextID = 0; // } 唯一地标识一个天体 该天体的名字 该天体围绕着转的其它天体 静态域 后继天体的标识

访问: 访问:– 类内部:直接用域名。 // nextID 类内部:直接用域名。 – 类外部:通过类名和域名 或 类的对象引用和域名 类外部: Body.nextID mercury.nextID 即使mercury引用为 引用为null,第二种访问方式也是正确的。 即使mercury引用为null,第二种访问方式也是正确的。

计算机科学与技术,Java

5.2 域--final域 -- 域 final域:被初始化后就不能再改变。 final域 被初始化后就不能再改变。 final域的初始化: final域的初始化: 域的初始化– 定义时初始化 – 类初始化后(static final) 类初始化后( final) – 对象创建完成后(没有static的f

inal) 对象创建完成后(没有static的final)

计算机科学与技术,Java

5.2 域-举例说明 类中有两种类型的变量:直接在类中定义的变量和 类中有两种类型的变量:直接在类中定义的变量和 在具体方法的中定义的变量。 在具体方法的中定义的变量。 – 直接在类中定义的变量:类中在任何方法之外声 直接在类中定义的变量: 明的变量,被称为类的域, 明的变量,被称为类的域,域可以被类的所有方 法访问。 法访问。 – 在具体方法的中定义的变量:在方法中声明的变 在具体方法的中定义的变量: 是该方法的局部变量, 量,是该方法的局部变量,局部变量只能在方法 内访问。因为方法的变量与方法的生命周期相同, 内访问。因为方法的变量与方法的生命周期相同, 所以它们不能够被其它的类访问, 所以它们不能够被其它的类访问,用户也不能对 方法变量使用任何访问修饰符。 方法变量使用任何访问修饰符。 访问变量的能力取决于两个因素:创建变量时使用 访问变量的能力取决于两个因素 创建变量 的能力取决于两个因素: 变量时使用 修饰符和变量声明在类中的位置。 在类中的位置 的修饰符和变量声明在类中的位置。

计算机科学与技术,Java

5.2 域-举例说明class CashRegister{ public int total; int[] sales_value; Outputlog log; void printReceipt(int total_sale){ Tape.println("Total Sale = $ " + total-sale); Tape.prinltn("Thank you for shopping with us."); } …… 此处隐藏:5368字,全部文档内容请下载后查看。喜欢就下载吧 ……

Java 第5章 类和对象-1.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1936283.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)