文档详情

JAVA类的封装、继承和多态.ppt

发布:2017-05-21约5.11千字共41页下载文档
文本预览下载声明
第3章 类的封装、继承和多态 3.1 类和对象 3.2 类的封装性 3.3 类的继承性 3.4 类的多态性 3.5 类的抽象性 3.1 类和对象 类(class)是既包括数据又包括作用于数据的一组操作的封装体。 对象(object)是类的实例(instance)。 类具有封装性、继承性、多态性和抽象性。 3.1.1 类 3.1.2 对象 3.1.1 类 声明类 类声明 { 成员变量的声明; 成员方法的声明及实现; } [修饰符] class 类泛型 [extends 父类] [implements 接口列表] 3.1.1 类 声明成员变量和成员方法 [修饰符] 返回值类型 方法([参数列表]) [throws 异常类] { 语句序列; [return [返回值]]; } 成员方法重载 3.1.2 对象 声明对象 类 对象 创建实例 对象 = new 类的构造方法([参数列表]) 引用对象的成员变量和调用对象方法 对象.成员变量 对象.成员方法([参数列表]) Java语言自动释放对象。 【例3.1】声明日期类及使用日期对象。 4. 对象的引用模型 5. 对象的关系运算与比较相等 3.2 类的封装性 3.2.1 构造方法与析构方法 3.2.2 this引用和instanceof对象运算符 3.2.3 访问控制 3.2.4 静态成员 3.2.5 析构方法 3.2.6 浅拷贝与深拷贝 3.2.1 构造方法 声明及调用构造方法 public class MyDate { public MyDate(int y, int m, int d) //声明构造方法 { //构造方法与类同名,构造方法返回该类的一个实例 year = y; month = m; day = d; } } MyDate d = new MyDate(2009,7,18); 默认构造方法 public MyDate() 3.拷贝构造方法 public MyDate(MyDate d) { year = d.year; month = d.month; day = d.day; } 调用语句如下: MyDate d1 = new MyDate(2009,7,16); MyDate d2 = new MyDate(d1); 第2句功能相当于以下两句: MyDate d2 = new MyDate(); d2.set(d1); 4. 构造方法重载 public MyDate(int y, int m, int d) public MyDate() public MyDate(MyDate d) 3.2.3 this引用和instanceof对象运算符 this引用 指代对象本身 this 访问本类的成员变量和成员方法 this.成员变量 this.成员方法([参数列表]) 调用本类重载的构造方法 this([参数列表]) instanceof对象运算符 d instanceof MyDate 3.2.4 访问控制 类的访问权限:只有public和缺省两种 。 public class MyDate class MyDate_ex 类中成员的访问权限 声明set()和get()方法存取对象的属性 3.2.5 静态成员 public class MyDate { private int year,month,day; //实例成员变量 private static int thisYear; //静态成员变量 static //静态成员变量初始化 { thisYear=2009; } public static int getThisYear() //静态成员方法 { return thisYear; //访问静态成员变量 } } 【例3.2】封装的日期类。 3.2.5 析构方法 public void finalize() //析构方法 { 语句序列; } 3.2.6 浅拷贝与深拷贝 浅拷贝 2. 深拷贝 public Person(Person p) { this(p.name, new MyDate(p.birthday)); } 【例3.3】 使用对象
显示全部
相似文档