java实验报告二
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浙江万里学院实验报告
成绩:
课程名称:面向对象程序设计
教师:
实验名称:面向对象编程与建立图形用户界面练习
专业班级:电子商务112班姓名:陈依丽学号:2011014732 实验日期:2013.11.26
实验二面向对象编程与建立图形用户界面练习
一、实验目的
通过编程和上机实验理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法,了解类的继承性和多态性的作用。
了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
二、实验要求
1. 编写一个体现面向对象思想的程序。
2. 编写一个创建对象和使用对象的方法的程序。
3. 编写一个显示当前日期和时间的程序。
4. 编写不同成员变量修饰方法的程序。
5. 编写不同成员方法修饰方法的程序。
6. 编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序。
7. 编写体现类的多态性(成员方法重载、构造方法重载)的程序。
8. 掌握在Applet 容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。
9. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
10. 掌握编写独立运行的窗口界面的方法。
11. 了解Java Swing 组件的使用方法。
12. 了解对话框的使用方法。
三、实验内容
(一)创建Applet 应用小程序
1. 程序功能:建立一个Applet 小程序,使其可以进行简单的加法运算。
该程序要包含类、接口、属性、方法、事件等面向对象的基本元素。
用到的类:KY3_1、Applet
用到的方法:set方法、调用了(label、TextField、Button)的构造方法、调用Applet的add的方法、调用button1的addActionListener方法。
2.编写一个浏览Applet 应用程序的页面文件KY3_1.HTML
(二)创建对象并使用对象
1.编写Applet 程序
程序功能:这个Applet 程序要在页面上输出两个矩形,并伴有文字输出。
从Applet这个类中继承
用到的类:KY3_2 、MyBox
用到的方法:调用了MyBox的构造方法、get方法、set方法
2. 编写一个浏览Applet 应用程序的页面文件KY3_2.HTML
(三)编写显示当前日期和时间的程序
1. 编写Applet 类文件KY3_3.java
程序功能:该程序通过使用一个自定义类Time,实现显示当前日期和时间功能
从Applet 这个类中继承
用到的类:Time 、KY3_3
用到的方法:get方法、set方法、调用了Time的构造方法
2.编写浏览KY3_3 类的页面文件KY3_
3.html
(四)使用修饰符
1.程序功能:通过两个类StaticDemo、KY3_4 说明静态变量/方法与实例变量/方法的区别。
用到的类:StaticDemo、KY3_4
用到的方法:get方法、set方法、调用了StaticDemo的构造方法、
(五)方法中参数传递的练习
编写一个传值调用的程序文件KY3_5.java。
程序功能:程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值,最后再输出x 和y 的乘方值。
用到的类:KY3_5
用到的方法:调用ff1静态方法、main方法、println打印方法
2.编写一个调用对象方法的程序文件KY3_6.java。
程序功能:通过调用对象的方法在方法调用后修改了成员变量的值。
用到的类:KY3_6、
用到的方法:main方法、调用了Power的构造方法、调用ff2静态方法
(六)类的继承性练习
1. 创建公共类KY3_7_P
从KY3_7_P这个类中继承
用到的类:KY3_7、KY3_8
用到的方法:set方法、调用了父类的print 方法、main主方法、调用KY3_7_P 的构造方法、调用父类的成员方法、
(七)类的多态性练习
方法的重载:方法的重载是指对同名方法的不同使用方式。
从Applet这个类中继承
用到的类:IntSort、KY3_11
用到的方法:sort方法、调用IntSort的构造方法、调用了父类的print 方法2.构造方法的重载
用到的类:RunDemo、KY3_12
用到的方法:main主方法、调用了RunDemo的构造方法、调用check 方法
(八)创建图形用户界面
1.在Applet 中添加标签、按钮并使用网格布局
从Applet这个类中继承
用到的类: KY7_1
用到的方法:set方法、调用了Button的构造方法、调用了Label的构造方法、调用了add方法
2.在面板中添加组件
用到的类:KY7_2
用到的方法:调用了Label的构造方法、调用了Panel的构造方法、add方法、set 方法、调用了Choice的构造方法、调用了Button的构造方法
(九)了解事件处理机制
1.单击按钮的事件处理程序
从Applet这个类中继承
用到的类:KY7_3
用到的方法:调用了Label的构造方法、add方法、调用了actionPerforme构造方法、调用了b的addActionListene方法
2.选择复选框和单选框按钮的事件处理程序
从Applet这个类中继承
用到的类:KY7_4
用到的方法:调用了(TextArea、Checkbox、Label、CheckboxGroup)构造方法、add方法
(十)建立独立运行的窗口界面并使用匿名类
1.创建一个窗口界面
用到的类:KY7_5_W
用到的方法:调用Frame的构造方法、main主方法、set方法、windowClosing 方法、
2.在窗口中添加组件
从Frame这个类中继承
用到的类:KY7_6
用到的方法:调用了(addWindowListener、Area、tf、btn、f、addActionListener)构造方法、windowClosing方法、set方法、add方法、Area的append构造方法
3.为窗口添加菜单
从Frame这个类中继承
用到的类:KY7_7
用到的方法:调用了(Panel、Button、MenuBar、Menu 、MenuItem)的构造方法、add方法、调用了open的addActionListener的构造方法、get方法
(十一)使用Swing 组件
1. 在JApplet 中添加Swing 组件
从JApplet这个类中继承
用到的类:KY7_8
用到的方法:调用了(panel、ImageIcon、button、label)的构造方法、add方法、调用了pane的add方法
2. 在JFrame 窗口中添加组件
从JApplet这个类中继承
用到的类:KY7_9
用到的方法:调用了windowClosing方法、调用了(button、pane)构造方法、add方法、调用toolBar的add方法、调用了textArea的append构造方法
(十二)使用自定义对话框与内部类
1. 编写KY7_10.java 程序文件
从JApplet、Dialog这些类中继承
用到的类:KY7_10
用到的方法:调用了(JPanel 、JTextArea 、Button)构造方法、set方法、get 方法、add方法、调用了静态actionPerformed方法、main方法
四.实验心得
问一:怎么样才能实现浏览Applet 应用程序的页面文件KY3_1.HTML?
答:琢磨了好一会儿,还是不会,在老师的指点之下,在根目录的文件夹build下新建一个文本文档,把代码复制进去,但是必须将<applet code="KY3_1.class" > 改成<applet code="实验二/KY3_1.class" > ,然后保存的文件名改为KY3_1.HTML,就能实现了。
问二:在编程KY3_7_P这个程序时,为什么会出现缺少主方法而不能运行?
答:经过自己的琢磨和上网查阅的资料,在程序KY3_7_P代码下添加了KY3_8.java 程序的代码,居然能编译成功。
因为它们属于继承关系,KY3_8 继承了KY3_7_P。
问三:在编译KY3_11时,为什么会出现一系列的错误?
答:经过语句的提示,语句中的类名KY3_12应改为KY3_11,再去掉语句中的56,就能编译成功。
通过这几次的上机操纵,对Java有了进一步的掌握。
在类的继承性练习中理解了继承的含义,掌握了用Java实现继承关系;学会了区分方法重写和方法重载;标记的类不可被继承,方法不可被子类重写。
用关键字extends表继承,例如子类A继承了父类B则可写作 class A extends B。
在创建对象并使用对象中,我了解了如何建立类和对象,分别输出其中包含的成员值;以及分别引用各方法,实现不同的操作。
在该程序中,我进一步了解了如何定义成员方法和成员属性以及相关方法的调用。
特别是我掌握了利用构造方法对成员属性赋初始值。
也学会了使用public、private控制访问及其访问权限;体会了static关键字的作用。
并对JA V A程序中的类及面向对象的编程思想有了更进一步的了解。
在实验的过程中,会因正确的编出程序而带来的成就感让我对编程更加感兴趣。
对于在这些实验过程中,请教老师、同学互助、查阅资料等基本的学习方式,使我更加领悟到集体和团队的力量,也树立了敢于攻坚的信心。
11。