Java第二周实验

更新时间:2023-12-20 13:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java面向对象程序设计 第1版

《Java面向对象程序设计》课程

实验二报告

学号: 姓名: 专业: 学校:

1

Java面向对象程序设计 第1版

2.1 实验目标

? ? ?

通过实验理解Java变量作用域,熟练掌握变量值的传递方法; 通过实验掌握继承中数据隐藏情况的处理方法; 通过实验掌握Java各种重要关键字的使用。

2.2 实验要求

? 请各位学习者记录实验调试中出现的问题、调试过程及解决方法; ? 请各位学习者记录实验成果,并将运行结果抓屏; ? 请各位学习者按教学大纲的要求完成实验报告;

– 完成实验报告Word文件

– 请将程序设计思想和方法、最终程序清单(自行设计部分明确表示)、

运行结果抓屏等

? 报告提交到课程【作业】中。

2.3 实验内容

2.3.1 实验题1:Java变量的作用域

【题目要求】

步骤1:进入Eclipse软件;

步骤2:录入实验程序MyDate.java和TestEx201源代码,并调试运行;

源文件1: MyDate.java public class MyDate { private int day = 1; private int month = 1; private int year = 2000; public void print(){

System.out.println( day + \ }

public MyDate(int day, int month, int year) { this.day = day; this.month = month; this.year = year;

2

Java面向对象程序设计 第1版

}

public MyDate(MyDate date) { this.day = date.day; this.month = date.month; this.year = date.year; }

public MyDate addDays(int more_days) { MyDate new_date = new MyDate(this); new_date.day = new_date.day + more_days; return new_date; } }

源文件2: TestEx201.java public class TestEx201{

public static void main(String[] args) {

MyDate my_birth = new MyDate(1, 9, 1966); MyDate the_next_week = my_birth.addDays(7); the_next_week.print(); } }

步骤3:给以下程序添加输出语句,以显示各种参数值及其传递关系; 步骤4:记录实验结果;

步骤5:画出参数传递的内存图(建议用MS Visio); 步骤6:完成实验报告。 【实验过程记录】

1.运行中出现的问题与解决方案

2.添加输出语句后程序(请用红色加粗字体显示添加部分),及运行结果(抓屏)

3

Java面向对象程序设计 第1版

3.请画出创建my_birth变量时值传递各环节的内存图(建议用MS Visio)

4.请画出创建the_next_week变量时值传递各环节的内存图(建议用MS Visio)

【实验总结和收获】

2.3.2 实验题2:继承中的数据隐藏

【题目要求】

运行实验中程序,解决程序中子类中两个同名变量的数据访问问题。 步骤1:打开Eclipse软件,右击鼠标新建项目;

步骤2:录入实验程序源代码如下,修改并调试运行程序;

源文件1: Parent.java public class Parent{ public int f;

public getF( ) { return f; } }

源文件2: Child.java class Child extends Parent{

4

Java面向对象程序设计 第1版

public int f; public double d;

public static void main(String [] args){ Child c = new Child(); c.f=100;

System.out.println(\ System.out.println(\ } }

步骤3:修改程序,使得在子类Child中可以对两个f分别进行赋值和显示操作,并记录实验结果;

步骤4:完成实验报告。 【实验过程记录】

1.运行中出现的问题与解决方案

2.修改后程序(请用红色加粗字体显示修改部分),及运行结果(抓屏)

【实验总结和收获】

2.3.3 实验题3:super和this关键字的使用

【题目要求】

5

Java面向对象程序设计 第1版

1.调试并实现利用super关键字重写方法。 步骤1:打开Eclipse软件,右击鼠标新建项目;

步骤2:录入实验程序源代码如下,修改并调试运行程序;

源文件1: Employee.java public class Employee {

public String name = \ public double salary = 5000; public String getDetails() {

return \ Name:\ Salary:\ } }

源文件2: Manager.java

public class Manager extends Employee { pubilc String department = \ public String getDetails() { + \ Department: \

} }

源文件3: TestEx203a.java public class TestEx203a{

public static void main(String args[ ]) { Employee e = new Employee(); Manager m = new Manager();

System.out.println(\ System.out.println(\ } }

步骤3:修改程序,利用super关键字修改本程序使得结果相同,调试并记录实验结果;

6

return \ Name:\+ name + \+ \ Salary:\+ salary

Java面向对象程序设计 第1版

步骤4:完成实验报告。

2.修改并调试以下程序。

步骤1:打开Eclipse软件,右击鼠标新建项目;

步骤2:录入实验程序源代码如下,修改并调试运行程序;

源文件1: Employee.java public class Employee {

private static final double SALARY = 5000.00; private String name; private double salary; private Date birthDate;

public Employee(String name, double salary, Date date) {

this.name = name; this.salary = salary; this.birthDate = date;

}

public Employee(String name, double salary) {

this(name, salary, null);

}

public Employee(String name, Date date) {

this(name, SALARY, date);

}

public Employee(String name) { }

源文件2: Manager.java

public class Manager extends Employee { private String department;

public Manager(String name, double salary , String dept) { super(name, salary); department = dept;

7

this(name, SALARY);

}

Java面向对象程序设计 第1版

}

public Manager(String name, String dept) { super(name); department = dept; }

public Manager(String dept) { department = dept; } }

源文件3: TestEx203b.java public class TestEx203b{

public static void main(String args[ ]) { Manager m1 = new Manager (); Manager m2 = new Manager (\ Manager m3 = new Manager (\ Manager m4 = new Manager (\ } }

步骤3:修改程序,调试并记录实验结果; 步骤4:完成实验报告。

【实验过程记录】

1.第1小题运行中出现的问题与解决方案

2.第1小题修改后程序(请用红色加粗字体显示修改部分),及运行结果(抓屏)

8

Java面向对象程序设计 第1版

3.第2小题运行中出现的问题与解决方案

4.第2小题修改后程序(请用红色加粗字体显示修改部分),及运行结果(抓屏)

【实验总结和收获】

2.3.4 实验题4: Java访问控制修饰符的应用

【题目要求】

本实验中有源程序Parent类和源程序Child类,根据以下步骤要求将它们存入不同包中时,程序中变量随访问控制修饰符不同将发生变化。调试运行并记录运行结果。

源文件1: Parent.java public class Parent{ private int f1 = 1; int f2 = 2;

protected int f3 = 3; public int f4 = 4;

private void fm1() { System.out.println(\ void fm2() { System.out.println(\

9

Java面向对象程序设计 第1版

protected void fm3() { System.out.println(\ public void fm4() { System.out.println(\}

源文件2: Child.java

public class Child extends Parent{ private int c1 = 21; public int c2 = 22;

private void cm1(){ System.out.println(\ public void cm2(){ System.out.println(\ public static void main(String args[]){ int i;

Parent p = new Parent();

i = p.f1; i = p.f2; i = p.f3; i = p.f4; p.fm1(); p.fm2(); p.fm3(); p.fm4(); Child c = new Child();

i = c.f1; i = c.f2; i = c.f3; i = c.f4; c.fm1(); c.fm2(); c.fm3(); c.fm4(); i = c.c1; i = c.c2; c.cm1(); c.cm2(); } }

1.将程序1 Parent类和程序2 Child类存于同一包(目录)中,并调试程序,记录结果。

步骤1:创建“Ex234a”文件夹;

步骤2:打开Eclipse软件,右击鼠标新建项目,将以上源程序Parent类和Child类存于“Ex234a”文件夹;

步骤3:修改、调试运行程序,并记录实验结果; 步骤4:完成实验报告。

2.将程序1 Parent类存于当前包的子包parent中,程序2 Child类存于当前包中,并调试程序,记录结果。

步骤1:创建“Ex234b”文件夹,将Child类存于其中;

10

本文来源:https://www.bwwdw.com/article/97w5.html

Top