实验项目名称: JAVA面向对象编程
(所属课程: JAVA语言程序设计 )
院 系:经济管理学院 专业班级:08信息管理 姓 名: 学 号:
实验日期:2011- - 实验地点:11号楼205 合作者: 指导教师:储泽楠
本实验项目成绩: 教师签字: 日期:
一、实验目的?实验1.实例变量/方法与静态变量/方法(或称类变量/类方法)
静态变量/方法前面加static修饰符,访问时通过(类名. 变量/方法名)或(对象名. 变量/方法名)。实例变量/方法前面不加static修饰符,访问时通过(对象名. 变量/方法名)。
通过两个类StaticDemo、LX2_1 说明静态变量/方法与实例变量/方法的区别。
编写类文件LX2_1.java,程序源代码如下。
class StaticDemo {
static int x;
int y;
public static int getX() {
return x;
}
public static void setX(int newX) {
x = newX;
}
public int getY() {
return y;
}
public void setY(int newY) {
y = newY;
}
}
public class LX2_1 {
public static void main(String[] args) {
System.out.println("静态变量x="+StaticDemo.getX());
System.out.println("实例变量y="+StaticDemo.getY()); // 非法,编译将出错
StaticDemo a= new StaticDemo();
StaticDemo b= new StaticDemo();
a.setX(1);
a.setY(2);
b.setX(3);
b.setY(4);
System.out.println("静态变量a.x="+a.getX());
System.out.println("实例变量a.y="+a.getY());
System.out.println("静态变量b.x="+b.getX());
System.out.println("实例变量b.y="+b.getY());
}
}
(1)编译该源代码,观察结果,分析并给出错误的原因。
(2)将程序中的出错语句使用注释符//隐藏起来,重新编译并运行,给出结果。
2、类成员的访问控制,使用修饰符。
有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。
常用的修饰符如下。[public] [private] [protected] [package] [static] [final] [transient] [volatile]不同修饰符的访问控制权限如表2.1 所示。
通过两个类AccessDemo、LX2_2 说明public、private与无修饰符的访问控制。
编写类文件LX2_2.java,程序源代码如下。
class AccessDemo {
public int x;
private int y;
int z;
}
public class LX2_2 {
public static void main(String[] args) {
AccessDemo a= new AccessDemo();
a.x=1;
a.y=2;
a.z=3;
System.out.println("public成员变量a.x="+a.x);
System.out.println("private成员变量a.y="+a.y);
System.out.println("无修饰符成员变量a.z="+a.z);
}
}
(1)编译该源代码,观察结果,分析并给出错误的原因。
(2)修改源程序,添加private成员变量的public get/set方法,使程序可以运行。给出核心代码和实验结果。
3、方法中参数传递的练习
在Java 中,方法中的参数传递可以分为传值调用或传递引用(传地址)调用方式。
传值调用即传递的参数是基本数据类型,调用方法时在方法中将不能改变参数的值,相当于传递副本。
传递引用传递的参数为对象或者数组,调用方法时在方法中能改变参数的值,相当于传递本身。
编写程序文件LX3_3.java,实现传值和传引用,比