Java继承与多态实验报告
更新时间:2023-10-14 13:43:01 阅读量: 综合文库 文档下载
西 安 邮 电 大 学
(计算机学院)
课内实验报告
实验名称: 继承与多态
专业名称: 计算机科学与技术 班 级: 计科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; iarr[j+1]) { swap=arr[j]; arr[j]=arr[j+1]; arr[j+1]=swap; }
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(\全部为空!\}
【代码2】 //定义一个构造方法,参数为name,用name初始化成员变量userName 【代码3】 //定义一个构造方法的头部,参数为name和pwd {
【代码4】 // 调用上个构造方法初始化userName 【代码5】 //初始化成员变量password check(); }
void check() { String s=null; if (userName!=null) s=\用户名:\else
s=\用户名不能为空!\if (password!=\s=s+\口令无效!\else
s=s+\口令:********\System.out.println(s); } }
public class RunDemo {
public static void main(String[] args) { new User(); new User(\刘新宇\new User(null,\邵丽萍\new User(\张驰\} }
(2)编译并运行程序
(四)实现 MouseListener 和 MouseMotionListener 两个接口
(1)编写实现接口的程序文件 Interface.java,源代码如下。 import java.applet.Applet; import java.awt.*;
import java.awt.event.*;
【代码1】 //定义一个实现接口MouseListener, MouseMotionListener 并继承Applet的一个类的头部,类名为Interface {
int x1, y1, x2, y2;
public void init() {
addMouseListener(this);
addMouseMotionListener(this); }
public void paint(Graphics g) {
【代码2】//画一条直线
正在阅读:
Java继承与多态实验报告10-14
德育论文我美好的大学生活04-29
51CTO下载-powerpoint - 2003使用技巧集锦03-03
机房建设方案及报价清单.docx04-13
新材料技术专题试题、参考答案及评分标准04-23
梦想与现实12-21
山东省泰安市宁阳一中高二化学下学期期中试题(含解析)04-26
薪酬及佣金制度105-31
细胞期末复习资料03-19
六年级上学期家长会发言稿课件04-23
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 多态
- 继承
- 实验
- 报告
- Java
- 《环境分析与监测》考试试卷(b) 答案
- 和谐内部关系的几点思考
- 2-1高二英语试卷(2016-2017学年度第一学期期末教学质量检测)(1)
- 15.05.25-关于开展1号线工程“危大工程方案专项检查”的通知
- 煤气柜安全操作规程
- 11流体力学
- 唐代诗僧
- 光强对光电化学法分解水制氢的影响
- 牛津七年级英语预备教材Unit 3配套试卷
- ISO27001:2013信息系统访问与监控管理程序
- 最新部编版二年级语文上册 1 小蝌蚪找妈妈 优质教案
- 端州区发展和改革局2018年工作总结及2018年工作设想
- 一年级数学学科(上)第九单元形成性测试参赛试卷
- 密切内部关系教育:坚持尊干爱兵 密切内部关系
- 第一单元测评
- 高空坠落应急预案
- 始得西山宴游记练习题
- 安徽重点项目-亳州中药物流园项目可行性研究报告
- 人教版小学三年级下册语文期中考试题
- UF-911超声波流量计操作维护培训资料