工学院计算机系 Java程序设计 实验指导
}
三个数的排序请模仿上述代码自行完成。
2.定义主类OverloadDemo,在主类OverloadDemo中,通过调用两个sort方法来实现对2个数和3个数的排序。 调用两个数排序方法源代码如下: public class OverloadDemo {
public static void main(String[] args) { int a=12,b=34;
IntSort s=new IntSort();
System.out.println (\两个数的排序结果是:\} }
三个数排序方法的调用请模仿上述代码自行完成。 六、思考练习
8、 在类的继承实验中再定义一个Circle类的子类Sphere,该子类中实现覆盖Circle类的getArea()方法,计算球体的面积,在主类AreaDemo中将Sphere类实例化后输出球体面积。提示:球体面积计算公式为:s= 4πR2 9、 对方法重载实验进行修改,实现可以从键盘输入参与排序的数字,文件名保存为
OverLoadDemo1.java。
26
工学院计算机系 Java程序设计 实验指导
实验十一 静态变量和方法的运用 实例变量和方法的运用
一、实验目的
通过本次实验,掌握static修饰符的正确使用。 二、实验内容
1. 程序改错。通过改正错误的程序,理解static修饰符使用规则。 2. 通过程序填空,掌握类方法的定义和使用。
3.通过阅读程序,写出程序结果,掌握类变量的使用。 三、实验步骤
1、启动JCReator3.50。 2、新建一个名为chapter11的工程,保存路径在为“D:\\学号+姓名(用拼音)\\ chapter11”文件夹下。
3、通过选择[文件]菜单中的[新建文件]命令,实现创建Java运行程序。 四、程序改错,通过改正错误的程序,理解static修饰符使用规则。
指出下列程序的所有错误,并改正。
通过选择[文件]菜单中的[新建文件]命令,输入下列源代码。 源程序名:Exercise1 .java。 public class Exercise1{ int i=20; public static void main (String args[]){ System.out.println(\ } }
提示:
改正方法1,将实例变量i改成类变量,因为在没有创建对象时,类方法只能使用类变量。将改正后的源程序命名为Exercise2.java。
改正方法2,先创建一个类的实例,再使用实例变量i。将改正后的源程序命名为Exercise3.java。
五、程序填空,掌握类方法的定义和使用。
通过选择[文件]菜单中的[新建文件]命令,输入下列源代码,将标有*那一行用源代码替代。
源程序名:CalDemo.java。 class Simple{ static void go(){
System.out.println(\这是测试调用类方法的程序!\ } }
public class CalDemo{
public static void main(String[] args){
27
工学院计算机系 Java程序设计 实验指导
**************** //调用Simple类的go()方法 } }
提示:调用类方法有两种形式,第一,可以用类名直接调用,第二,可以先生成类的对象再调用该方法。
六、通过阅读程序,写出程序结果,掌握类变量的使用。 阅读下列程序,写出程序运行结果: 1.第一条输出语句输出结果应为:
v1.c=() v1.i=() v2.c=() v2.i=() 2.第二条输出语句输出结果应为:
v1.c=() v1.i=() v2.c=() v2.i=()
3.通过选择[文件]菜单中的[新建文件]命令,输入下列源代码验证程序运行结果。源程序名:CountDemo.java。
4.这两条输出结果反映了类变量和实例变量的什么区别? class Value{
static int c=0;//定义类变量c int i;//定义实例变量i
static void inc(){//定义将c自加的类方法inc() c++; }
void inci(){//定义将i自加的类方法inci() i++; } }
public class CountDemo{
public static void main(String[] args){ Value v1,v2; v1=new Value(); v2=new Value(); v1.i=15; v2.i=20;
System.out.println (\ v1.i=\ v2.c=\ v2.i=\ v1.inc(); v1.inci();
System.out.println (\ v1.i=\ v2.c=\ v2.i=\ } }
28
工学院计算机系 Java程序设计 实验指导
实验十二 Java包和接口的应用
一、实验目的
通过上机实验,学习掌握package程序包的创建和使用。掌握接口的概念,学会使用接口的定义,继承接口,实现接口。 二、实验内容
a) 模拟编写Java Application程序。
b) 模仿课本P90【例4.1】定义一个名为Stu包,在这个包中定义一个实现显示学生
的学号、姓名、性别和班级的Student类;然后定义另一个引用Stu包的类,在这个类中用Stu包中的Student类生成一个对象。 c) 定义接口,继承接口,实现接口的实验。 三、实验步骤 第一:新建一个名为chapter13的工程,保存路径在为“D:\\学号+姓名(用拼音)\\ chapter13”文件夹下。
第二:包的创建与使用。 算法分析:
先在两个java源文件中分别定义了两个包,并且在第1个包中定义了一个MyClass1类,在第2个包中定义了一个MyClass2类。
在第三个java源文件的主类TestPackage中分别引用前面定义的两个包,并分别将MyClass1类和MyClass2类实例化。
1、在该工程中新建一个java源文件,并输入如下代码: package Mypackage; //定义包Mypackage
public class MyClass1 { //定义类MyClass1
public void show() {
System.out.println(\这是类MyClass1\ } }
2、在该工程中再新建一个java源文件,并输入如下代码:
package Mypackage.Mypackage1; //定义包Mypackage.Mypackage1
public class MyClass2 { //定义类MyClass2
public void show(){
System.out.println(\这是类MyClass2\ } }
3、在该工程中再新建一个java源文件,并输入如下代码:
29
工学院计算机系 Java程序设计 实验指导
import Mypackage.*;
import Mypackage.Mypackage1.*; public class TestPackage {
public static void main(String[] args) {
//用包Mypackage中定义的类MyClass1生成对象 MyClass1 obj1=new MyClass1();
//用包Mypackage.Mypackage1中定义的类MyClass2生成对象 MyClass2 obj2=new MyClass2(); obj1.show() ; obj2.show(); } }
4、编译运行程序,查看运行结果。
第三:定义一个名为stu包,在这个包中定义一个实现显示学生的学号、姓名、性别和班级的Student类;然后定义另一个引用stu包的类,在这个类中用stu包中的Student类生成一个对象。
第四:定义接口,继承接口,实现接口的实验。
1、 在chapter11的工程下再新建一个java文件InterfaceDemo.java。
2、 在该文件的适当位置上定义一个接口Runner。Runner包括一个常量ID=1,和一
个抽象方法run()。
3、 定义一个接口Animal,继承自Runner,在Animal里增加一个抽象方法breathe()。 4、 定义一个类Fish,实现接口Animal。
5、 在main方法中对Fish产生实例化对象,进行运用。 参考的代码: interface Runner {
int ID=1; void run(); }
interface Animal extends Runner {
void breathe(); }
class Fish implements Animal {
30