西 安 邮 电 大 学
(计算机学院)
课内实验报告
实验名称: 继承与多态
专业名称: 计算机科学与技术 班 级: 计科1405班 学生姓名: 高宏伟
学 号: 04141152 指导教师: 刘霞林 实验日期: 2016.10.13
一、实验目的
通过编程和上机实验理解 Java 语言的继承和多态特性,掌握变量的隐藏、方法的覆盖、重载,掌握抽象类和接口的使用。
二、实验要求
1.编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。 2.编写体现类的多态性(成员方法重载)的程序。 3.编写体现类的多态性(构造方法重载)的程序。 4.编写使用接口的程序。
三、实验内容
(一)类的继承
1.创建公共类Student.
(1)编写程序文件 Student.java,源代码如下:
public class Student {
protectedString name; //具有保护修饰符的成员变量 protected int number;
void setData(String m,int h) //设置数据的方法 { name =m; number= h; }
public void print() //输出数据的方法 {
System.out.println(name+\ } }
(2)编译 Student.java,产生类文件Student.class。
2.创建继承的类Undergraduate
(1)程序功能:通过 Student 类产生子类 undergraduate,其不仅具有父类的成员变量 name(姓名)、number(学号),还定义了新成员变量academy(学院)、department (系)。在程序中调用父类的 print 方法。
(2)编写 Undergraduate 程序:
class Undergraduate extends Student
{
【代码1】 //定义成员变量academy
【代码2】 //定义成员变量department public static void main(String args[]) {
【代码3】 //创建一个学生对象s
【代码4】 //用父类的setData方法初始化对象s 【代码5】 //对象s调用print方法 【代码6】 //创建一个大学生对象u
【代码7】//调用父类的成员方法setData初始化对象u 【代码8】 //设置对象u的成员变量academy 【代码9】 //设置对象u的成员变量department
System.out.print(u.name+\ } }
(3)编译并运行程序
注意:公共类 Student 与undergraduate 类要在同一文件夹(路径)内。
(二)方法的重载
(1)程序功能:对不同的数进行排序输出。在IntSort 类中定义3 个同名的方法sort。 (2)编写Sort.java 文件,源代码如下。
import java.awt.Graphics; import java.applet.Applet; class IntSort {
public String sort(int a, int b) { if (a>b) return a+\else
return b+\}
public String sort(int a, int b, int c) { int swap; if (a
c=swap; }
return a+\}
public String sort(int arr[]) { String s=\int swap;
for (int i=0; i
for (int i=0; i public class Sort extends Applet { IntSort s=new IntSort(); public void paint(Graphics g) { int a=30, b=12, c=40; int arr[]={34,8,12,67,44,98,52,23,16,16}; g.drawString(\两个数的排序结果:\g.drawString(\三个数的排序结果:\g.drawString(\数组的排序结果:\} } (3)编译并运行程序 (4)编写Sort类文件的页面文件sort.html (三) 构造方法的重载 (1)编写构造方法User 的重载程序文件RunDemo,源代码如下。 class User{ private String userName, password; 【代码1】 //定义一个无参构造方法的头部 { System.out.println(\全部为空!\}
相关推荐: