JAVA中怎么通过非静态方法给一个静态变量赋值?

来源:百度知道 编辑:UC知道 时间:2024/05/08 10:20:03

public class staticTest1
{
public static int java;
public void setJava(int java)
{
this.java = java;
}

public static void main(String args[])
{
staticTest st = new staticTest();
st.setJava(2009);
System.out.println(st.java);

}
}

如你所说,这样是完全能办到的,及:

静态方法给非静态变量赋值!

下面这个程序就不能编译通过!!

public class staticTest2
{

public int c;

public static void setC(int c)
{
this.c = c;
}

public static void main(String args[])
{
staticTest st = new staticTest();
st.setC(2000);
System.out.println(st.c);

}
}

提示错误:

无法从静态上下文中,引用非静态变量!

祝楼主,天天向上!!

非静态方法可以直接调用静态变量并且给它赋值,但不可以在非静态方法中定义静态变量
随便举个例子给你吧
class Test{
private static int c;
private static String name;
public void getInfo(){
//static int bb =10; //