预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实例成员与类成员。 实验要求: 按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果。 程序运行效果示例: 程序运行效果如下图所示: 程序模板: Example.java classA { floata;//声明一个float型实例变量a staticfloatb;//声明一个float型类变量b,即static变量b voidsetA(floata) { this.a=a;//将参数a的值赋值给成员变量a } voidsetB(floatb) { this.b=b;//将参数b的值赋值给成员变量b } floatgetA() { returna; } floatgetB() { returnb; } voidinputA() { System.out.println(a); } staticvoidinputB() { System.out.println(b); } } publicclassExample { publicstaticvoidmain(Stringargs[]) { A.b=100;//通过类名操作类变量b,并赋值100 A.inputB();//通过类名调用方法inputB() Acat=newA(); Adog=newA(); cat.setA(200);//cat象调用方法setA(inta)将cat的成员a的值设置为200 cat.setB(400);//cat调用方法setB(intb)将cat的成员b的值设置为400 dog.setA(150);//dog象调用方法setA(inta)将dog的成员a的值设置为150 dog.setB(300);//dog调用方法setB(intb)将dog的成员b的值设置为300 cat.inputA();//cat调用inputA()。 cat.inputB();//cat调用inputB()。 dog.inputA();//dog调用inputA()。 dog.inputB();//dog调用inputB()。 } } 实验后的练习: 1.将inputA()方法中的System.out.println(a);改写为 System.out.println(a+b);编译是否出错?为什么? 程序将正常运行,不会出错。因为变量可以引用非静态变量 2.将inputB()方法中的System.out.println(b);改写为 System.out.println(a+b);编译是否报错?为什么? 会出错。因为无法从静态上下文中引用非静态变量a。