Java程序设计实验指导书(9)

2020-04-14 01:27

附录1 Employee.java

public class Employee{ private String name; private String department; private double basicpay; private double pay; Employee(){ this(\ } Employee(String n, String d, double bp){ name=n; department=d; basicpay=bp; } public double getPay(){ pay=basicpay; return pay; } public String toString(){ return \ } }

附录2 TestM.java

class Bird { String name; Bird(String n) { name = n; }

final public void fly() {

System.out.println(name + \ }

public void fly(int number) {

System.out.println(name + \ }

protected void shout() {

System.out.println(name + \ }

private void shout(int number) {

System.out.println(name + \ }

33

}

class Swan

extends Bird { Swan(String n) { super(n); }

public void fly() {

System.out.println(name + \ }

private void fly(int number) {

System.out.println(name + \ }

protected void shout() {

System.out.println(name + \ }

private void swim() {

System.out.println(name + \ } }

public class TestM {

public static void main(String[] args) { Bird b1 = new Bird(\小小鸟\ Swan b2 = new Swan(\小天鹅\ b2.fly(); b2.swim(); } }

附录3 TestM.java

class Bird { String name; Bird(String n) { name = n; }

public void fly() {

System.out.println(name+\ }

public void shout() {

System.out.println(name+\ }

public void shout(int number) {

34

System.out.println(name+\ } }

class Swan extends Bird { Swan(String n) { super(n); }

public void fly() {

System.out.println(name+\ }

public void shout() {

System.out.println(name+\ }

public void swim() {

System.out.println(name+\ } }

class Duck extends Bird { Duck(String n) { super(n); }

public void fly() {

System.out.println(name+\ }

public void shout() {

System.out.println(name+\ }

public void swim() {

System.out.println(name+\ } }

public class TestM {

public static void main(String[] args) { Bird b1 = new Bird(\小小鸟\ Bird b2 = new Swan(\小天鹅\ Bird b3 = new Duck(\唐老鸭\

/*分析以下语句编译错误的原因*/ //b1.swin(); //b2.swin();

35

//b3.swin();

//(Duck)b3.swim();

/****************************/

/*先分析以下语句的运行结果,再执行验证*/ b1.fly(); b2.fly(); b3.fly();

b1.shout(1); b2.shout(2); b3.shout(3);

Swan s2=(Swan)b2; s2.swim();

s2=(Swan)b1; s2.swim();

s2=(Swan)b3; s2.swim();

((Duck)b3).swim();

/****************************/ } }

36

实验四、继承与多态(二)

1.实验目的

(1)结合面向对象思想,熟练掌握子类的定义以及子类构造方法的定义,理解子类构造函数调用顺序。

(2)掌握父类方法的重写、深入理解子类中对父类成员的访问权限。

(3)理解Object的意义,掌握自定义类的toString()、equals()方法的实现。

(4)理解向上转型和向下转型,以及多态的目的和意义,掌握多态的常用形式。

2.实验内容和步骤

(1)设计一个形状类Shape,包含一个getArea()方法,该方法不包含实际语句。

(2)在Shape类基础上设计圆形、矩形、三角形和梯形四个子类,要求根据实际形状重写getArea()方法。

(3)设计一个TestShape类,包含变量area(存储总面积)、静态方法countArea(Shape s),该方法负责把参数中的形状面积加入到area中。在main函数中新建(2)中四种类型的对象s1、s2、s3、s4,通过调用countArea方法把四个对象面积累加到area中,最后输出area。

(4)选做。设计在数据结构中学过的单链表类MyLinkList,该类包含头结点,以及插入节点、删除节点、打印单链表等函数。

37


Java程序设计实验指导书(9).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:影视鉴赏习题及答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: