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是在一个类中啊,按道理都是可以访问的嘛

解决方案 »

  1.   

    C   拼感觉选C      你在fun()里随便输出一下吧。。fun()肯定会被执行  我感觉和 构造函数一样执行  在构造函数之前执行好象。。试试吧呵呵。  我也是菜鸟。
      

  2.   

    static方法只能访问static变量!还有一办法就是把方法中的static去掉.当然选C
      

  3.   

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

  4.   

    static 是静态方法
    A:将private int m 改成protected int m
    B:将private int m 改成public int m
    换汤不换药,都是一样的。public static void fun(),调用的是static方法,所以D不对
      

  5.   

    STATIC 法只能访问STATIC 变量
      

  6.   

    static 方法只能直接访问static变量,但是直接访问static变量的方法不一定要static的
      

  7.   

    静态方法只能访问静态变量。要不就把方法的STATIC去掉!