欢迎来到天天文库
浏览记录
ID:59463538
大小:139.50 KB
页数:20页
时间:2020-11-02
《第5章-Java类的继承、抽象类和接口.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章类的继承、包及接口上一章我们介绍了面向对象程序设计的基本概念,如类的定义、对象的创建(实例化)、类的成员等。本章将继续介绍类的继承性、类的访问限定、抽象类、匿名类以及包和接口等概念。5.1类的继承面向对象的重要特点之一就是继承。类的继承使得能够在已有的类的基础上构造新的类,新类除了具有被继承类的属性和方法外,还可以根据需要添加新的属性和方法。继承有利于代码的复用,通过继承可以更有效地组织程序结构,并充分利用已有的类来完成复杂的任务,减少了代码冗余和出错的几率。5.1.1类继承的实现1.问题的提出在介绍类继承的实现之前,我们先看一下上一章介绍的Citizen(公民)类和R
2、esultRegister(成绩登记)类,分析一下它们之间的关系。Citizen类的完整代码如下:/**这是一个公民类的定义*类名:Citizen*/importjava.util.*;publicclassCitizen{//以下声明成员变量(属性)Stringname;Stringalias;Stringsex;Datebrithday;//这是一个日期类的成员变量Stringhomeland;StringID;//以下定义成员方法(行为)publicStringgetName()//获取名字方法{//getName()方法体开始returnname;}//getName
3、()方法体结束/***下边是设置名字方法***/publicvoidsetName(Stringname){//setName()方法体开始this.name=name;}//setName()方法体结束/***下边是列出所有属性方法***/publicvoiddisplayAll(){//displayAll()方法体开始System.out.println("姓名:"+name);System.out.println("别名:"+alias);System.out.println("性别:"+sex);if(brithday==null)brithday=newDate(
4、0);System.out.println("出生:"+brithday.toString());System.out.println("出生地:"+homeland);System.out.println("身份标识:"+ID);}displayAll()方法体结束publicvoiddisplay(Stringstr1,Stringstr2,Stringstr3)//重载方法1{System.out.println(str1+""+str2+""+str3);}publicvoiddisplay(Stringstr1,Stringstr2,Dated1)//重载方法2{S
5、ystem.out.println(str1+""+str2+""+d1.toString());}publicvoiddisplay(Stringstr1,Stringstr2,Dated1,Stringstr3)//…3{System.out.println(str1+""+str2+""+d1.toString()+""+str3);}publicCitizen(Stringname,Stringalias,Stringsex,Datebrithday,Stringhomeland,StringID)//带参数构造方法{this.name=name;this.alias
6、=alias;this.sex=sex;this.brithday=brithday;this.homeland=homeland;this.ID=ID;}publicCitizen()//无参构造方法{name="无名";alias="匿名";sex="";brithday=newDate();homeland="";ID="";}}ResultRegister类的代码如下:/**这是一个学生入学成绩登记的简单程序*程序的名字是:ResultRegister.java*/importjavax.swing.*;publicclassResultRegister{public
7、staticfinalintMAX=700;//分数上限publicstaticfinalintMIN=596;//分数下限Stringstudent_No;//学号intresult;//入学成绩publicResultRegister(Stringno,intres)//构造方法{Stringstr;student_No=no;if(res>MAX
8、
9、res
此文档下载收益归作者所有