Java2网络编程基础 第三章 ③ 类,对象和包 Designed by Chiyong C2005
1 Designed by Chiyong,©2005 Java2 网络编程基础 类,对象和包 第三章
回顾 Java具有8种基本数据类型:int、 boolean、 char、 short、long、foat及 double Java中的运算符可划分为四大子集:算术 运算符、位运算符、关系运算符、逻辑运 算符 Java支持下列控制结构:选择、循环、跳 转 数组可用来将同一类型的数据存储在连续 的内存位置 Designed by Chiyong C2005
2 Designed by Chiyong,©2005 回顾 • Java 具有8种基本数据类型:int、boolean、 char、short、long、float 及 double • Java 中的运算符可划分为四大子集:算术 运算符、位运算符、关系运算符、逻辑运 算符 • Java 支持下列控制结构:选择、循环、跳 转 • 数组可用来将同一类型的数据存储在连续 的内存位置
目枥 掌握如何创建类和构造对象 掌握方法的重载和重写 了解类的继承 了解包概念 Designed by Chiyong C2005
3 Designed by Chiyong,©2005 目标 • 掌握如何创建类和构造对象 • 掌握方法的重载和重写 • 了解类的继承 • 了解包概念
类和对象2-1 >对象表示现实世界中某个具体的事物 >抽象是从特定的实例中抽取共同的性质以 形成一般化概念的过程。 >对象具有两方面的含义: 在现实世界中: 是客观世界中的一个实体 在计算机世界中 是一个可标识的存储区域 Designed by Chiyong C2005
4 Designed by Chiyong,©2005 类和对象2-1 ➢对象表示现实世界中某个具体的事物。 ➢抽象是从特定的实例中抽取共同的性质以 形成一般化概念的过程。 ➢对象具有两方面的含义: 在现实世界中: • 是客观世界中的一个实体 在计算机世界中: • 是一个可标识的存储区域
类和对象2-2 封装的实体=数据+方法 数据或变量 类是具有共同属性 和行为的对象的抽 类 象 方法 类可以定义为数据抽 和方法的集合。 象 例 类也称为模板,因 属性或状态 为它们提供了对象 的基本框架。 对象 操作或行为 Designed by Chiyong C2005
5 Designed by Chiyong,©2005 类和对象 2-2 • 类是具有共同属性 和行为的对象的抽 象。 • 类可以定义为数据 和方法的集合。 • 类也称为模板,因 为它们提供了对象 的基本框架。 类 对象 抽 象 实 例 化 属性或状态 操作或行为 数据或变量 方法 封装的实体=数据+方法
创建类。 在类中,属性是通过成员变 函数(义称为方法)实现的。 Java中定义类的通用格式: class name type variable 成员变量(对象属性) type variableN 成员方法 type methodnamel(parameter-list)i 对象行为 //方法体 或操作 type methodnameN (parameter-list)i 方法体 Designed by Chiyong C2005
6 Designed by Chiyong,©2005 创建类 class name { type variable1; … type variableN; type methodname1(parameter-list){ //方法体 } … type methodnameN(parameter-list){ //方法体 } } 在类中,属性是通过成员变 量体现的,而操作是用成员 函数(又称为方法)实现的。 Java中定义类的通用格式: 成员变量(对象属性) 成员方法 (对象行为 或操作)
定义方法 发往某个对象的消息对应 为对 万法。方法 包含在类中的函数。 定义方法的一般格式: [access modifier] type methodName (parameter-list])( /万法体 修饰符, 返回类型 参数列表, 可选 方法名称 可选 举例: public void setdate (int day, int month, int year)t day=23; month=7; year=2003; Designed by Chiyong C2005
7 Designed by Chiyong,©2005 定义方法 • 定义方法的一般格式: [access modifier] type methodName ([parameter-list]){ //方法体 } 发往某个对象的消息对应于 一个方法调用。作为对消息 的响应,对象将执行一个类 似于过程体的方法。方法是 包含在类中的函数。 返回类型 方法名称 修饰符, 可选 参数列表, 可选 • 举例: public void setdate(int day, int month, int year){ day=23; month=7; year=2003; }
对象作为参数 当对象作为方法参数时 class Testi int a, b 该对象的引南的改变箕 Test(int ir int 3) 状 a=1 void swapobj(Day x, Day y)[ //可以在方法中改变对象状态 Day temp=yi void change(Test obj) Y=xi x=temp 引用本身 obj. a=50 按值传递 obj.b=40 改变对象 状态 Designed by Chiyong C2005
8 Designed by Chiyong,©2005 对象作为参数 class Test{ int a,b; Test(int i,int j) { a=i; b=j; } //可以在方法中改变对象状态 void change(Test obj) { obj.a=50; obj.b=40; } } 当对象作为方法参数时, 在方法中只能改变该对 象的状态,但不能通过 该对象的引用的改变其 状态 void swapobj(Day x,Day y){ Day temp=y; y=x; x=temp; } 引用本身 按值传递 改变对象 状态
this引用 关键字this与对象关联 它用于指示当前对象 public class Test t int xi 明此对象的属 Test(int x)[ 变量x应赋值 thisxEx 传递的 法变 量x的值。 public void showvalue()i System. out. print1n(“x等于 public static void main(string args[])( Testtest new Test(10) test. showValue ( Designed by Chiyong C2005
9 Designed by Chiyong,©2005 this引用 public class Test { int x; Test(int x) { this.x=x; } public void showValue(){ System.out.println(“x 等于 " +x); } public static void main(String args[]) { Test test = new Test(10); test.showValue(); } } ❖关键字 this 与对象关联 ❖它用于指示当前对象 指明此对象的属 性变量 x 应赋值 为通过构造方法 传递的参数自变 量 x 的值
方法重载( overload) 方法重载是Java实现面向对象的多态性机制的一 种方式。 同一个类中多个方法有相同的名字,不同的参数 列表,这种情况称为方法重载。 返回类型不同并不足以构成方法重载。 当重载方法被调用时,编译器根据参数的类型和 数量来确定实际调用哪个重载方法的版本。 注意方法重载( overload)与方法重写( override)的区别, 后面将介绍方法重写的概念。 Designed by Chiyong C2005
10 Designed by Chiyong,©2005 方法重载(overload) • 方法重载是Java实现面向对象的多态性机制的一 种方式。 • 同一个类中多个方法有相同的名字,不同的参数 列表,这种情况称为方法重载。 • 返回类型不同并不足以构成方法重载。 • 当重载方法被调用时,编译器根据参数的类型和 数量来确定实际调用哪个重载方法的版本。 注意方法重载(overload)与方法重写(override)的区别, 后面将介绍方法重写的概念