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是在一个类中啊,按道理都是可以访问的嘛
{
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是在一个类中啊,按道理都是可以访问的嘛
如果变量m不是static的话,那是不是就可以通过new一个对象来改变值了
那 fun()中的m该随着哪个对象的m改变呢?是不是就和static只与类相关矛盾了
所以static方法的变量只能是static的个人理解,
A:将private int m 改成protected int m
B:将private int m 改成public int m
换汤不换药,都是一样的。public static void fun(),调用的是static方法,所以D不对