首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • Java继承与多态实验报告

    时间:2020-10-30 11:39:24 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:继承 实验 报告

     西 西 安 安

     邮 邮 电 大 学 (计算机学院)

     课内实验报告 实验名称:

     :

      态 继承与多态 ﻩ ﻩ

     专业名称:

     计算机科学与技术 班 班

      级:

      计科 1405 班

     学生姓名:

      高宏伟

     学 学

     号:

      指导教师:

      刘霞林 实验日期:

     2016 、10 0、 、13

     一、实验目得

     通过编程与上机实验理解 Java 语言得继承与多态特性,掌握变量得隐藏、方法得覆盖、重载,掌握抽象类与接口得使用。

     二、实验要求

     1、编写体现类得继承性(成员变量、成员方法、成员变量隐藏)得程序。

     2、编写体现类得多态性(成员方法重载)得程序. 3、编写体现类得多态性(构造方法重载)得程序。

     4、编写使用接口得程序。

     三、实验内容

     ( ( 一) ) 类得继承

     1、创建 公共类 Student、

      (1)编写程序文件 Student、java,源代码如下:

     pub li c class Student

      {

     p prot ect edString name;

      //具有保护修饰符得成员变量

     p rotected int number;

     void setData(String m,int h)

     //设置数据得方法

     {

     name =m;

     number= h;

     }

     public void print()

     //输出数据得方法

     {

     System、out、println(name+", "+number);

     }

     }

     (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+”, ”+u、number+", "+u、academy+”, "+u、department);

     }

     }

     (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+""+b; else return b+""+a; } public String sort(int a, int b, int c)

     { int swap; if (a〈b) { swap=a; a=b; b=swap; } if (a<c) { swap=a; a=c; c=swap; } 54 if (b<c) { swap=b; b=c; c=swap; } return a+"”+b+"”+c; } public String sort(int arr[])

     { String s=""; int swap; for (int i=0; i〈arr、length; i++)

     for (int j=0; j<arr、length-1; j++) if (arr[j]>arr[j+1])

     { s[j]; arr[j]=arr[j+1]; arr[j+1]=swap; } for (int i=0; i〈arr、length; i++)

     s=s+arr[i]+""; return s; } } 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("两个数得排序结果:”+s、sort(a,b),30,30); g、drawString("三个数得排序结果:”+s、sort(a,b,c),30,60); g、drawString(”数组得排序结果:"+s、sort(arr),30,90); } } (3)编译并运行程序 (4)编写 Sort 类文件得页面文件sort、html <html> 〈applet codebase=e:/java/程序 code=KY3_11、class width=420 height=380〉 </applet 〉 </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=”用户名:”+userName; else s="用户名不能为空!"; if (password!="12345678") 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("张驰”,”12345678"); } }

     (2)编译并运行程序 (四) ) 实现

     Mous eL istener 与

     MouseMoti o nL i stener 两个接口

     (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】//画一条直线

      }

     public void mousePressed(MouseEvent e) { // 记录起点坐标

      x1=e、getX();

      y1=e、getY();

     }

     public void mouseClicked(MouseEvent e) {}

     public void mouseEntered(MouseEvent e) {}

     public void mouseExited(MouseEvent e)

     {}

     public void mouseReleased(MouseEvent e)

     {}

     public void mouseMoved(MouseEvent e) {}

      public void mouseDragged(MouseEvent e)

     { // 记录终点坐标

      x2=e、getX();

      y2=e、getY();

      repaint();

     }

     }

      编译 Interface、java 文件。

      编写 Interface、html 文件,源代码如下. <html> 〈applet codebase=e:/java/程序 code=Interface、class width=320 height=180〉 </applet > </html> (5)在浏览器中打开 Interface、html 文件,在窗口中拖动鼠标可以随意画出一

     条线 四、运行结果

      五、思考题

     1. 使用变量之前就是不就是都要先声明变量。使用变量之前就是不就是都要先赋值,为什么? 使用之前必须先声明,因为声明了,运行时计算机才能划分计算机空间给她。根据变量不同,或者在堆里,或者在栈里.但就是没有声明得话,连存在得空间都没有,那么读写也就无从谈起。不就是必须先赋值,因为会自动赋默认值。

     2. 什么就是构造方法。

     构造方法就是一种特殊得方法,它就是一个与类同名且没有返回值类型得方法。对象得创建就就是通过构造方法来完成,其功能主要就是完成对象得初始化.当类实例化一个对象时会自动调用构造方法。构造方法与其她方法一样也可以重载。

     3. 类得继承与多态有什么作用,在使用上应该注意什么问题。

     继承就就是子类继承父类,使子类具有父类得各种属性与方法,好处就就是避免多余得代码出现,例如,项目中常常要用到得数据库得开启关闭,就可以单独写一个父类,其她类要用得话可以去继承。。。

     多态就就是一个接口,使用不同得实例去执行不同得操作,好处就就是增强程序得可扩展性及可维护性,使代码更简洁 六、总结

      方、藏隐得量变了握掌,性特态多与承继得言语 avaJ 了解理验实机上与程编次这过通ﻩ法得覆盖、重载,掌握抽象类与接口得使用。对于 Java 语言有了更深一层得认识,多态与继承、方法重写密切相关,我们在方法中接收父类类型作为参数,在方法实现中调用父类类型得各种方法。当把子类作为参数传递给这个方法时,java虚拟机会根据实际创建得对象类型,调用子类中相应得方法。

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识