读书人

一道简单的考试题,有点疑问,该怎么解决

发布时间: 2012-01-08 22:48:50 作者: rapoo

一道简单的考试题,有点疑问
class test
{
private int m;
public static void fun()
{
//some code...
}
}

如何使成员变量m被函数fun()直接访问?
A:将private int m 改成protected int m
B:将private int m 改成public int m
C:将private int m 改成static int m
D:将private int m 改成int m


答案是C,想问下其他几个答案为什么不对?fun()和m是在一个类中啊,按道理都是可以访问的嘛

[解决办法]
C 拼感觉选C 你在fun()里随便输出一下吧。。fun()肯定会被执行 我感觉和 构造函数一样执行 在构造函数之前执行好象。。试试吧。。。呵呵。

我也是菜鸟。
[解决办法]
static方法只能访问static变量!

还有一办法就是把方法中的static去掉.

当然选C
[解决办法]
因为方法是static 的,就只和类相关了,
如果变量m不是static的话,那是不是就可以通过new一个对象来改变值了
那 fun()中的m该随着哪个对象的m改变呢?是不是就和static只与类相关矛盾了
所以static方法的变量只能是static的

个人理解,
[解决办法]
static 是静态方法
A:将private int m 改成protected int m
B:将private int m 改成public int m
换汤不换药,都是一样的。

public static void fun(),调用的是static方法,所以D不对
[解决办法]
STATIC 法只能访问STATIC 变量
[解决办法]
静态方法只能直接访问静态变量~~~~
[解决办法]
静态方法只能直接访问静态变量~~~~


[解决办法]
static 方法只能直接访问static变量,但是直接访问static变量的方法不一定要static的
[解决办法]
静态方法只能访问静态变量。要不就把方法的STATIC去掉!

[解决办法]

[解决办法]
这是个最基本的概念:静态方法只能访问静态变量.

读书人网 >J2SE开发

热点推荐