1.main方法是个静态的所以引用外部变量必须是static的
2.x=10赋值操作要放在方法里或者放入static{}代码段中

解决方案 »

  1.   

    把x改为main()函数的成员函数,
    或者设置为静态的
      

  2.   

    静态方法main不能引用非静态的成员变量x。
    成员变量x需要在其定义处进行初始化,或者以如下方式初始化:
    {
        x = 10;
    }
    如果x是静态成员变量,则用静态块来初始化,即
    static{
       x = 10;
    }
      

  3.   

    eclipse 这些工具都有提示错误。你看下错误信息。
      

  4.   

    我也学习了,不过我用了static 也有错误,为什么?
    public class Test
    {
    int x,y;
    static 
    {
    x=10;
    }
    public static void main(String args[])
    {
    System.out.println(x);
    }
    }
      

  5.   

    重发一遍。因为文件名与类名不一至。
    public class T2
    {
    int x,y;
    static 
    {
    x=10;
    }
    public static void main(String args[])
    {
    System.out.println(x);
    }
    }错误上面的是一样的。
      

  6.   

    1.main方法是个静态的所以引用外部变量必须是static的或者实例化该类后再调用这个变量;
    2.x=10赋值操作要放在方法里或者放入static{}代码段中。
      

  7.   

    public class T1 {
    static int x,y;
    public static void main(String[] args){
    x=10;
    System.out.println(x);
    }
    }
    static应该加在变量定义之前吧?
      

  8.   

    我用代码块为什么实现不了?肯定是我写错了。你们就在这个程序上帮助改一改吧。public class T2
    {
    int x;
    static 
    {
    x=10;
    }
    public static void main(String args[])
    {
    System.out.println(x);
    }
    }这样用有错误,
    E:\java练习程序\practice>javac T2.java
    T2.java:6: 错误: 无法从静态上下文中引用非静态 变量 x
                    x=10;
                    ^
    T2.java:10: 错误: 无法从静态上下文中引用非静态 变量 x
                    System.out.println(x);
                                       ^
    2 个错误
      

  9.   

    你在看基础,这不符合语法和正常的java思维啊
      

  10.   


    public class T {
    static int x,y;
    static {x=10; }   //注:必须加上static 才能是静态初始化块,否则输出的x的值为0

    public static void main(String[] args) { System.out.println(x);
    }}
      

  11.   

    额,你在成员变量外面要加上static 
      

  12.   

    我表示学到了很多。楼主的问题是在静态方法里面的x必须是定义为静态的。就好比在同一个类中,public void test();这个方法是不能直接在main函数中调用的,要new 对象或者是把这个方法定义为static的
      

  13.   

    原来要用两次static ,我上面只用了一次,所以才有错误。