第5章 java类的继承、抽象类和接口

上传人:小** 文档编号:89255337 上传时间:2019-05-22 格式:DOC 页数:20 大小:215.50KB
返回 下载 相关 举报
第5章 java类的继承、抽象类和接口_第1页
第1页 / 共20页
第5章 java类的继承、抽象类和接口_第2页
第2页 / 共20页
第5章 java类的继承、抽象类和接口_第3页
第3页 / 共20页
第5章 java类的继承、抽象类和接口_第4页
第4页 / 共20页
第5章 java类的继承、抽象类和接口_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《第5章 java类的继承、抽象类和接口》由会员分享,可在线阅读,更多相关《第5章 java类的继承、抽象类和接口(20页珍藏版)》请在金锄头文库上搜索。

1、第5章 类的继承、抽象类和接口第5章 类的继承、包及接口上一章我们介绍了面向对象程序设计的基本概念,如类的定义、对象的创建(实例化)、类的成员等。本章将继续介绍类的继承性、类的访问限定、抽象类、匿名类以及包和接口等概念。5.1 类的继承面向对象的重要特点之一就是继承。类的继承使得能够在已有的类的基础上构造新的类,新类除了具有被继承类的属性和方法外,还可以根据需要添加新的属性和方法。继承有利于代码的复用,通过继承可以更有效地组织程序结构,并充分利用已有的类来完成复杂的任务,减少了代码冗余和出错的几率。5.1.1 类继承的实现1. 问题的提出在介绍类继承的实现之前,我们先看一下上一章介绍的Citi

2、zen(公民)类和ResultRegister(成绩登记)类,分析一下它们之间的关系。Citizen类的完整代码如下:/*这是一个公民类的定义 * 类名:Citizen */import java.util.*;public class Citizen /以下声明成员变量(属性) String name; String alias; String sex; Date brithday; /这是一个日期类的成员变量 String homeland; String ID; /以下定义成员方法(行为) public String getName() /获取名字方法 /getName()方法体开始 r

3、eturn name; /getName()方法体结束 /*下边是设置名字方法*/ public void setName(String name) /setName()方法体开始 this.name=name; /setName()方法体结束 /*下边是列出所有属性方法*/ public void displayAll() /displayAll()方法体开始 System.out.println(姓名:+name); System.out.println(别名:+alias); System.out.println(性别:+sex); if(brithday=null) brithday=

4、new Date(0); System.out.println(出生:+brithday.toString(); System.out.println(出生地:+homeland); System.out.println(身份标识:+ID); displayAll()方法体结束 public void display(String str1,String str2,String str3) /重载方法1 System.out.println(str1+ +str2+ +str3); public void display(String str1,String str2,Date d1) /重载

5、方法2 System.out.println(str1+ +str2+ +d1.toString(); public void display(String str1,String str2,Date d1,String str3)/3 System.out.println(str1+ +str2+ +d1.toString()+ +str3); public Citizen(String name,String alias,String sex,Date brithday,String homeland,String ID) /带参数构造方法 this.name=name; this.ali

6、as=alias; this.sex=sex; this.brithday=brithday; this.homeland=homeland; this.ID=ID; public Citizen() /无参构造方法 name=无名; alias=匿名; sex= ; brithday=new Date(); homeland= ; ID= ; ResultRegister类的代码如下:/* * 这是一个学生入学成绩登记的简单程序 * 程序的名字是:ResultRegister.java */ import javax.swing.*; public class ResultRegister

7、public static final int MAX=700; /分数上限 public static final int MIN=596; /分数下限 String student_No; /学号 int result; /入学成绩 public ResultRegister(String no, int res) /构造方法 String str; student_No=no; if(resMAX | resMAX | resMIN)/如果传递过来的成绩高于上限或低于下限则核对 str=JOptionPane.showInputDialog(请核对成绩:,String.valueOf(r

8、es); result=Integer.parseInt(str); else result=res; /构造方法结束 public void display() /显示对象属性方法 displayAll(); System.out.println(学号=+student_No+ 入学成绩=+result); /显示对象属性方法结束在上边的类定义程序中,着重显示部分是修改添加部分。可以看出,由于它继承了Citizen类,所以它就具有Citizen类所有的可继承的成员变量和成员方法。下边我们写一个测试程序,验证修改后的ResultRegister的功能。例5.1 测试ResultRegister类的功能。程序参考代码如下:/* 这是一个测试ResultRegister类的程序 * 程序的名字是: TestExam5_1.java */ import java.util.*; public class TestExam5_1 public static void main(String args)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号