JAVA中怎么通过非静态方法给一个静态变量赋值?
展开全部
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);
}
}
提示错误:
无法从静态上下文中,引用非静态变量!
祝楼主,天天向上!!
{
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; //错误的写法。
c = 10;
name ="我是静态变量";
System.out.println(c+ " "+name);
}
}
随便举个例子给你吧
class Test{
private static int c;
private static String name;
public void getInfo(){
//static int bb =10; //错误的写法。
c = 10;
name ="我是静态变量";
System.out.println(c+ " "+name);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般来说,
静态变量就是一个全局变量。
为什么要在方法里边来赋值呢?
那就不要静态了
静态变量就是一个全局变量。
为什么要在方法里边来赋值呢?
那就不要静态了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-04-23
展开全部
...这很难吗
你要说 静态方法 给 非静态变量赋值 这倒是不可能的
你要说 静态方法 给 非静态变量赋值 这倒是不可能的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询