2.1 实验目的
熟悉 Java 应用程序的基本结构,并能联合编译应用程序所需要的类。
2.2 实验要求
编写 3 个源文件:MainClass.java、A.java 和 B.java,每个源文件只有一个类。MainClass.java 含有应用程序的主类(含有 main 方法),并使用了 A 和 B。将 3 个源文件保存到同一目录中。
2.3 实验指导
编译 MainClass.java 的过程中,Java 系统会自动地先编译 A.java、B.java。编译通后,
中将会生成 MainClass.class、A.class 和 B.class 3 个字节码文件。当运行上述 Java 应用程序时,虚拟机将 MainClass.class 和 A.class、B.class 加载到了内存。当虚拟机将 MainClass.class 加载到内存时,就为主类中的 main 方法分配了入口地址,以便 Java 解释器调用 main 方法开始运行程序。如果编写程序时错误地将主类中的 main 方法写成:public void main(String args[ ]),那么,程序可以编译通过,但无法运行。
2.4 实验实现代码
MainClass.java
public class MainClass {
public static void main(String []args) {
System.out.println("你好,只需编译我");
A a = new A();
a.fA();
B b =new B();
b.fB();
}
}
A.java
public class A {
void fA() {
System.out.println("I am A");
}
}
B.java
public class B {
void fB() {
System.out.println("I am B");
}
}
2.5 拓展练习
2.5.1 对象赋值实验
按照以下要求编写 Java 应用程序:定义一个类 Point,用来描述平面直角坐标系中点的坐标,该类应该能描述点的横、纵坐标信息及一些相关操作,包括获取点的横、纵坐标,修改点的坐标,显示点的当前位置等;定义一个主类 PointTest,创建 Point 类的对象并对其进行有关的操作。理解 Java 对象的理解“值传递”的过程。
2.5.2 实现代码
PointTest.java
class Point{
double x;
double y;
public void setXY(double a,double b) {
x = a;
y = b;
}
public double getX(){
return x;
}
public double getY(){
return y;
}
public void disp() {
System.out.println("点的当前坐标为:( " + x + "," + y + ")");
}
}
public class PointTest {
public static void main(String []args) {
Point p1 = new Point();
p1.disp();
p1.setXY(3.2, 5.6);
p1.disp();
}
}