第五章面向对象编程Ⅰ精品PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课堂练习
利用修改过后的 Person 类;编写程序,分别用三种 构造方法创建三个 person 对象,如下图所示
0
p1 ###
20
0
p2 ###
23
100
p3 ###
25
示 例 (1)
public class Test { public static void main(String args[]) { Person p1 = new Person(1, 22); Person p2 = new Person(2, 23); int age = 25; p1.setAge(age); p2.setAge(++age); }
HelloWorld s
引用
null
Integer i;
0x3Baidu Nhomakorabea123b i = new Integer(100);
……… ……… ………
0x3a123b 堆内存
Java 类的定义
➢ 用 class 关键字定义一个类,例如:
class Person { //成员变量定义 private int id; private int age = 20; //方法定义 public int getAge() {return age;} public void setAge(int i) {age = i;} public int getId() {return id;}
函数。 ➢ 构造函数与类同名且没有返回值。 ➢ 例如:为 Person 类定义构造函数:
……… Person(int n, int i){
id = n; age = i; }
………
构造函数
➢ 创建对象时,使用构造函数初始化对象的成员变量。
public class Test {
public static void main(String args[]) {
➢ Java中的对象是通过引用对其操作的。 ➢ 例如:
/* * 声明了一个String类型的引用变量, * 但并没有使它指向一个对象 */ String s ; /* * 使用new语句创建了一个String类型的对象并用s指向它 * 以后可以通过s完成对其的操作 */ s = new String("hello world!");
}
Java 类的定义
➢ 类的定义主要有两方面组成-成员变量和方法。 ➢ 声明成员变量的格式为:
[< modifiers>]type< attr_name>[=defaultValue];
例如:
private int id; private int age = 20;
➢ 声明方法的格式为:
[< modifiers>] < modifiers> <return_type> <name>([< argu_list>]) { [< statements>] }
} ………
Point p = new Point(); ………
p ###
0
0
堆内存
课堂练习
定义一个“点”(Point)类用来表示二维空间中的 点(有二个坐标)。要求如下:
1. 可以生成具有特定坐标的点对象。 2. 提供可以设置二个坐标的方法。 3. 提供可以计算该“点”距离原点距离平方的方法。 4. 判断该点是否在圆内 5. 编写程序验证上述三条。
方法的重载
➢ 方法的重载是指一个类中可以定义有相同的名字和返 回值类型,但参数不同的多个方法。
➢ 调用时,会根据不同的参数表选择对应的方法。 ➢ 例如:在 Person 类中添加如下方法:
void info() { System.out.println("My id is "+id);
} void info(String t) {
Person tom = new Person(1,25);
Person john = new Person(2,27);
}
}
tom
1
***
25
john
###
2
27 堆内存
构造函数
➢ 当没有指定构造函数时,编译器为类自动添加形如
类名( ) { } 的构造函数。
➢ 例如:
class Point { public int x; public int y;
System.out.println(t+" "+id+" "+age); }
方法的重载
➢ 运行如下程序:
public class Test { public static void main(String args[]) { Person p = new Person(1,20); p.info(); p.info("hello"); }
例如: public int getAge() {return age;}
成员变量
➢ 成员变量可以使Java语言中任何一种数据类型(包括基 本类型和引用类型)。
➢ 在定义成员变量时可以对其初始化,如果不对其初始化, Java使用默认的之对其初始化。
➢ 成员变量的作用范围为整个类体。
成员变量的默认初始化
}
➢ 输出结果:My id is 1
hello 1 20
构造方法的重载
➢ 与普通方法一样,构造方法也可以重载: ➢ 例如:修改 Person 类的构造方法为:
Person() { id = 0; age = 20;
} Person(int i) {
id = 0; age = i; } Person(int n,int i){ id = n; age = i;
本章内容
stack C2:XXXXX c1:XXXXX
Id:100 Name:ncatm1e1 heap
sid:101 Data segement(数据段) Code Segement(代码段)
对象
➢ 对象是Java程序的核心,在Java程序中“万事万物 皆对象”。
➢ 对象可以看成是静态属性(成员变量)和动态属性 (方法)的封装体。
➢ 类是用来创建同一类型的对象的“模板”,在一个类 中定义了该类对象所应具有的成员变量以及方法。
➢ 一个Java程序可以看成是一系列对象的创建以及它 们之间的消息通讯
➢ J2SDK提供了很多类供编程人员使用,编程人员也 可定义自己的类。
引用
➢ Java 语言中除基本类型之外的变量类型都称之为引 用类型。
➢ 成员变量按下表取默认的初始化值
成员变量类型 byte short int long char float double boolean 所有引用类型
取值 0 0 0 0L '\u0000' 0.0F 0.0D false null
构造方法
➢ 使用 new + 构造方法 创建一个新的对象。 ➢ 构造函数是定义在 Java 类中的一个用来初始化对象的
相关文档
最新文档