java实验3共同的森林_javaz实验2..doc

本文档是一份Java面向对象编程实验,旨在探讨静态变量和实例变量的差异,以及类成员的访问控制。通过StaticDemo和LX2_1类展示了静态变量的访问方式,强调了实例变量不能通过类名直接访问。此外,还讨论了public、private和无修饰符的访问权限,并提供了一个AccessDemo和LX2_2类的例子。最后,实验涉及方法中参数的传值和传引用概念。
摘要由CSDN通过智能技术生成

实验项目名称: 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,实现传值和传引用,比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值