static变量不能被非static方法修改
static就是静态的,表示内存里只有一份数据。你知道为什么不能被非static方法访问了吧

解决方案 »

  1.   

    你的for循环一定是在main之类的static方法中调用的吧
    在static方法中调用非static的成员变量 一定要对该成员变量所属的类进行实例化 就是用new一个对象 然后访问该对象的.pailie成员
    明白?
      

  2.   

    airwing()说的不对
    static变量不能被非static方法修改,错!
    static方法不能修改非static变量,但是非static方法可以修改static变量。
    static就是静态的,表示内存里只有一份数据,对!
    for example:
    class TTT 
    {
    private static int a;
    public static void main(String[] args) 
    {
    a=1;
    System.out.println("in static main() :"+a);
    TTT ttt = new TTT();
    ttt.pt();
    } public void pt()
    {
    a++;
    System.out.println("in non-static pt() :"+a);
    }
    }
    结果:
    in static main() :1
    in non-static pt() :2
    同意change(程序人生) 你的问题就是你的语句是在一个静态函数中,可能是main函数,也可能是别的静态函数,
    在静态函数中访问非static变量是非法的。