Java继承与多态实验报告_第1页
Java继承与多态实验报告_第2页
Java继承与多态实验报告_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西安岬勒大学(计算机学8U课卖證掖告宾绘名称专北名称:计算机科学与技忒班 鍛:计科1405班学生:窝宏伟学 号:04141152指导教艸:吐宾脸可朗:2016.10.13通过偏程和上机卖睑理解Java语言的继承和多态特性八拿握雯量的隐歲方比的发孟. 重我,拿握抽象类和接d的使用。二、卖脸要求1 偏写体现类的继承性(成员支量、成员方法.成员变量除裁丿的程序。 2偏写体现类的多态性(成员方出重我丿的程序。3偏写体现类的多态性(构凌方出重我丿的程序。4偏写使用接d的程序。三.卖脍农(-)类的姓禾1 创朮心共真Student.(V 為写程序丈件Student.java,源代码如下:public cla

2、ss StudentprotectedString name;/V有锌护修饰苻的成贡变走protected int number;void setData(String m,int h)役Jt数据的方弘n ame =m;nu mber= h;public void print()/输出數堀的方法System.out.pri ntln(ndme+”'+numbGr);(2)編译 Student.java,产生类丈件 Student.class。2创 建继承的类Undergraduate(1)程序功能:通过Student类产生子类undergraduate,其不仅具冇父类的成员变量 nam

3、e () number学号丿,还定义了新成员支量academy (学晓丿 department (糸丿。疫程序中调用父类的print方法。(2)為写 Undergraduate 程序:class Undergraduate extends Student【代码1/丈义成员academy【代码2】/戏义成员1 t departmentpublic static void main(String args)【代码3/创比一个学土对拿s【代碣4】/用父夷的setData方法初始化对集s【代码5 对象s调用print方出【代碣6】 创建一个大孝生对象u【代碣7】/调用父実的成貝方setData初始化对

4、象u【代碣8 /沒連对象u的成员支逐academy【代码9】/谀JS.对象u的成Six departmentSystem.out.print(undmG+", ”+u.number寫 n+u.academy*", "+u.department);(2)為译幷运行殻序注意:公共类Student与undergraduate类要在同一丈件夹(厚綾丿。(二)方法的賣栽(V 程序功能:对不同的数进行排序綸出。A IntSort类中支义3个同右的方比sort。(2)编写Sort.java丈件,源代码如下。import java.awt.Graphics;import java

5、.applet.Applet;class IntSort public String sort(int a, int b) if (a>b)return a+,M*b;elsereturn b+m,+a;public String sort(int a, int b, int c) int swap;if (a<b) sv/ap=a;a=b;b=swap;if (a<c) sv/ap=a;a=c;c=swap;54if (b<c) sv/ap=b;b=c;c=swap;return a+,H+b+叫c;public String sort(int arr() Strin

6、g s=,m;int swap;for (int i=0; i<arr.length; i+)for (int j=0; j<arr.length-1; j+)if (arrj>arrj*1J) sv/ap=arrj;arrj=arrj+1;arrj+1=swap;for (int i=0; i<arr.length; i+)s=s+arri+m,;return s;public class Sort extends Applet IntSort s=new lntSort();public void paint(Graphics g) int a=30, b=12,

7、c=40;int arr=34,8,12,67,44,98,52,23,16,16;g.drawStringfft个效的椀序结"+s.sort(a,b),30,30);g.drav6tring(H三个效的椀序结"+s.sort(a,b,c),30,60);g.drawStringfM的排序建*: H+s.sort(arr),30,90);(3丿编译并运行程序(4)錮写Sort类丈件的页面丈件sort.html<html><applet codebase=e: / java/程序 code=KY3_11 .class v/idth=420 height=38

8、O> </applet ></html>(三)构凌方出的賣載(V為写构凌方出User的重戏程序丈件RunDemo,源代码如下。class Userprivate String userName, passv/ord;【代码1/戏义一个无多构連方金的头部System, out. printing 全部为空!”);【代码2】/岌义一个构連方空,拱敷为name,用name初始化成员变逐userName【代码3】 是义一个构連方法的头部,参奴为name和pwd【代码4】/调用上个祷迪方法初始化userName【代码5/初始化成员变总passwordcheck();void

9、 check() String s=null;if (userName!=null)s="用户名:"+useNdme;elses用户名不能为空! ”;if (password!12345678”)s=s*u d 今无败! B,;elses=s+" d冬:“w;System.out. println(s);public class Run Demo public static void main(String args) new User();new User(,H);new User(null,«p 丽聲);new Useif 胞T12345678J;(

10、2)编译并运行程序(g)实现 MouseListener 和 MouseMotionListener 两个換d(1)錮写实现接d的程序丈件Interface.java,源代码如下。import java.applet.Applet;import java.av/t.*;import java.av/t.event.*;【代码 1 /定义一个卖现接d MouseListener, MouseMotionListener 并继丞 Applet 的一 个奏的头部'类右为Interfaceint x1, y1, x2, y2;public void init() addMouseListene

11、r(this);addMouseMotionListe ner(this);public void paint(Graphics g) 【代码2】/*条直线public void mousePressed(MouseEvent e) / 记录起点坐标x1= e.getX();y1= e.getY();public void mouseClicked(MouseEvent e) Qpublic void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) public void mouseReleased(MouseE

12、vent e) public void mouseMoved(MouseEvent e) public void mouseDragged(MouseEvent e) / 诃彖终点坐标x2=e.getX();y2=e.getY();repaint(); 偏晞 Interface.java 丈件。 偏写lnterface.html丈件,源代码如下。<html><applet codebase二e:/java/程序 code=lnterface.class v/idth=32O height=18O> </applet ></html>(5)疫測览森

13、中肘开lnterface.html丈件,A窗d中拖动乱标可以随意西出一 条线i运行结果3B C:WINDOWSsystem32cmd.exeMicrosoft Windows 皈本 10. 0. 14393(c) 2016 Microsoft Corporation。保留所有权利。C:UsersHongwei>d:D:>javac Undergraduate, javaD:>java Undergraduate程宇轩,04141155李书豪,04141153,计算机学院,计算机科学与技术 D:>.C:WINDOWSsystem32cmd.exe appletviewer

14、 sort.htmlMicrosoft Windows 版本 10. 0. 14393(c) 2016 Microsoft Corporation。保留所有权利。C: UsersHongwei>d:d:'不是内部或外部命令,也不是可运行的程序 或批处理文件。C:UsersHongwei>d:區kJ帧囲兰看器:Sortclass-XD:>javac Sort, java小应恥尽P:>appletviewer sorthtml两个暂的住碗杲;3012三个数的拝啓卑:40 30 12数组的徉序结果 8121616 2334 44 626798£ Proble

15、ms陽声明 色错误日志 貝控制台閔i<已终止RunDemo Java 应用程序C:Program Filesjj 全制为空I用22不能为空! 令无效!用户名:张驰令:*小应用程序査看器:Interface.cla.X小应用程序己启动小应用程库。五.思考题仁 使用支量之祈是不是都要丸步期变量。使用支量之询是不是都要丸赋伎,为什么? 使用之祈必须丸声朗,因为声明了,运行肘计算机才能划分计算机空间给他。根煽 变量不同,戎者疫堆里,或者A栈里。但是没冇步刖的话,连存淮.的吨间却没有, 那么读写也就无从谈起。不是必须丸赋值.因为会自动赋默认值。2什么是构凌方比。构凌方法是一科箱殊的方法,它是一个与类同名且没冇返凹值类型的方比。对象的 创建就是通过构度方比来兜成,其功能主要是兜成对象的初妗化。启类卖例化一个 对象对会自动调用构凌方法。构凌方法和其他方出一样血可以重我。3类的堆永和多态有什么作用,在使用上应该注意什么问題。堆承就是子类堆承父类,使孑类具有父类的冬科為性和方法,好氏就是姚免多余的 代码出现,例如.顼1中常常要用到的数据库的开启关闭,就可以单独写一个父类, 其他类要用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论