资源预览内容
第1页 / 共154页
第2页 / 共154页
第3页 / 共154页
第4页 / 共154页
第5页 / 共154页
第6页 / 共154页
第7页 / 共154页
第8页 / 共154页
第9页 / 共154页
第10页 / 共154页
亲,该文档总共154页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章 java 中的对象、类、包和接口4.1 初识对象和类 4.2 对象的生命周期 4.3 创建类 4.4 包的创建和使用 4.5 类成员的访问控制 4.6 类成员与实例成员 4.7 继承 4.8 嵌入类 Inner Classes 4.9 接口 14.1 初识对象和类 例1. 定义了一个名为SimplePoint 的类 public class SimplePoint public int x = 0; /x为成员变量public int y = 0; /y为成员变量第四章 java 中的对象、类、包和接口24.1 初识对象和类 当创建一个新的对象时(对该类实例化), 就 会为该对象及其成员分配空间,同时对成员变 量进行初始化。第四章 java 中的对象、类、包和接口34.1 初识对象和类 例2 定义一个名为SimpleRectangle类 public class SimpleRectangle public int width = 0;public int height = 0;public SimplePoint origin = new SimplePoint(); 第四章 java 中的对象、类、包和接口44.1 初识对象和类 当初始化origin成员时将调用代码new SimplePoint()创建一个SimplePoint对象。 第四章 java 中的对象、类、包和接口54.1 初识对象和类 例3 public class Point public int x = 0; public int y = 0; / a constructor! public Point(int x, int y) this.x = x; this.y = y; 见例题:Rectangle.javanew Point(44, 78)第四章 java 中的对象、类、包和接口64.2 对象的生命周期w创建对象 w对象的使用 w清除对象 第四章 java 中的对象、类、包和接口74.2 对象的生命周期w 创建对象 通过创建一个对象可创建类的一个实例, 也称实例 化此类。 例Rectangle rect = new Rectangle();创建一个对象包括三部分: 声名部分 实例化部分 初始化部分第四章 java 中的对象、类、包和接口84.2 对象的生命周期1. 创建对象 声名对象 声明对象的名字和类型,用类名来说明对象的类型。 格式:type name 说明: 声明对象的规则与变量声明规则相同,但对象变量是引用 类型; 在java里类和接口都可以作为数据类型来使用; 对象声明通知编译器name将用来引用type类型的变量 对象声明并不创建新的对象。 例: Rectangle rect;第四章 java 中的对象、类、包和接口94.2 对象的生命周期1. 创建对象 实例化对象 操作符new通过为新对象分配存储空间来实例化类 格式: new 类的构造方法 例 new Rectangle(100, 200); Rectangle rect = new Rectangle(100, 200);第四章 java 中的对象、类、包和接口104.2 对象的生命周期1. 创建对象 初始化对象 每个类都至少有一个构造函数,当创建对象时调用指定的 构造函数来初始化对象 例 Rectangle rect = new Rectangle(); Rectangle rect = new Rectangle(100, 200); Rectangle rect = new Rectangle(new Point(44,78);注:在定义类时如未定义构造函数系统,java会自动构造一个 没有参数的构造函数。第四章 java 中的对象、类、包和接口114.2 对象的生命周期2. 对象的使用 使用对象包括: 从对象中获得信息 改变对象的状态 使对象执行某些操作 实现途径: 引用对象的变量 调用对象的方法 第四章 java 中的对象、类、包和接口124.2 对象的生命周期2. 对象的使用 引用对象的变量 引用对象变量的格式: 对象引用.对象的变量 例: rect.origin = new Point(15, 37); area = rect.height * rect.width; height = new Rectangle().height; 说明: 可以像使用其它变量一样来使用对象的变量。 例如:area = rect1.height *rect1.width第四章 java 中的对象、类、包和接口134.2 对象的生命周期2. 对象的使用 调用对象的方法 格式: 对象引用.对象方法名();或 对象引用.对象方法名(参数表); 例 rect.move(15, 37); new Rectangle(100, 50).area()说明: 对于返回值的方法,方法调用可以用于表达式中 调用一个对象的方法即是向该对象发送一个消息. 第四章 java 中的对象、类、包和接口144.2 对象的生命周期3. 清除对象 java运行使系统有一个垃圾回收进程负责清除不再使用的对象 。 垃圾回收器 垃圾回收器定期扫描内存,对于被应用的对象加上标记, 按可能的路径扫描结束后清除未加标记的对象。 被回收的对象是: 不再被任何引用变量引用的对象引用变量自动放弃人为地将引用变量置为null第四章 java 中的对象、类、包和接口154.2 对象的生命周期3. 清除对象 垃圾回收器 当系统的内存用尽或程序中调用System.gc()要求 进行垃圾收集时,垃圾收集线程与系统同步运行。 否则垃圾收集器在系统空闲时异步地执行。第四章 java 中的对象、类、包和接口164.2 对象的生命周期3. 清除对象 finialize()方法 在一个对象被垃圾回收器回收之前,java解释器会自动调用 对象的finalize()方法。通常在该方法内包括了释放系统 资源的代码段。 finalize( )方法在类java.lang.Object中实现 如: protected void finalize ( ) throws throwable / clean up code for this class super. finalize( ); /清除对象使用的所有资源,包括由于继 /承关系而获得的资源 第四章 java 中的对象、类、包和接口174.3 创建类4.3.1 类声明 4.3.2 类体 (Class Body)第四章 java 中的对象、类、包和接口184.3 创建类一个类包括两部分: 类声明 类体见图:13parts第四章 java 中的对象、类、包和接口194.3 创建类4.3.1 类声明 在类的声明里,说明了类的名字及其它属性。下图说明了 类声明中包含的各部分:第四章 java 中的对象、类、包和接口204.3 创建类4.3.1 类声明 说明: 在类声明中, public、abstract、final为类的修饰符,是可 选的,缺省时说明所定义的类是非public、非abstract 、非final的类。第四章 java 中的对象、类、包和接口214.3 创建类4.3.2 类体 类体为该类的对象提供了在生存期内需要的 所有代码。包括以下几部分: w 构造方法( constructor ) w 成员变量( member variable )的声明 w 方法(Method)的实现 第四章 java 中的对象、类、包和接口224.3 创建类4.3.2 类体 1. 构造方法 定义:类中用来初始化新建的对象的方法称构 造方法。 特点:无返回类型,方法名与类名相同第四章 java 中的对象、类、包和接口234.3 创建类4.3.2 类体 1. 构造方法 说明: 构造方法可被重载。 例如: public class Thing private int x; public Thing() x = 47; public Thing( int new_ x) x = new_ x; 第四章 java 中的对象、类、包和接口244.3 创建类4.3.2 类体 1. 构造方法 说明: 其中变量和方法称为类的成员(成员变量和成员方法) ,而构造方法不是类的成员。 每个类中至少有一个构造方法。 定义类时如未定义构造方法,运行时系统会为该类自动 定义缺省的构造方法。没有任何参数 没有body不做任何事情第四章 java 中的对象、类、包和接口254.3 创建类4.3.2 类体 1. 构造方法 说明: 构造方法只能由new运算符调用 构造方法同样也有访问权限的限制 publicprotectedprivatepackage第四章 java 中的对象、类、包和接口264.3 创建类4.3.2 类体 2. 成员变量的声明成员变量在类体中声明,但在构造方法和方法 之外 。 classDeclaration member variable declarations constructor declarations method declarations 第四章 java 中的对象、类、包和接口274.3 创建类4.3.2 类体 2. 成员变量的声明声明格式:第四章 java 中的对象、类、包和接口284.3 创建类4.3.2 类体 2. 成员变量的声明说明: accessLevel: 对成员变量的访问控制,有四级访问控制: public, protected, package, private。缺省时为package。 static: 说明该变量为类变量,缺省时为实例变量。 final: 指明该变量的值不能被改变,既该变量为常量。 例 final double AVOGADRO = 6.023e23;第四章 java 中的对象、类、包和接口294.3 创建类4.3.2 类体 2. 成员变量的声明说明: type: 用于说明成员变量的类型。可以是基本数据类型,如 int,float,boolean 等,也可以是引用类型,如数组名,类或 接口名。 在同一个类中不允许有同名的成员变量,但允许成员变量 名和方法名相同。第四章 java 中的对象、类、包和接口304.3 创建类4.3.2 类体 2. 成员变量的声明例子:public class SliderDemo public static final int FPS_INIT = 15; private int frameNumber = 0;protected int delay; boolean frozen = false;Timer timer; private String name = “Fred Flintstone“; 第四章 java 中的对象、类、包和接口314.3 创建类4.3.2 类体 3. 方法的实现 与类相似,方法的声明也包括两部分:方法声明和方 法体:如下图所示:第四章 java 中的对象、类、包和接口324.3 创建类4.3.2 类体 3. 方法的实现 方法声明: 定义方法的属性,如访问控制级,返回值的类型,方 法名字,参数等 第四章 java 中的对象、类、包和接口
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号