public class test{
int a=123;
final int b=11111;
public static void main(String[] args){
int c=-123;
System.out.println("a输出的值是:"+a);
System.out.println("b输出的值是:"+b);
System.out.println("c输出的值是:"+c);}
}报错test.java:6: 无法从静态上下文中引用非静态 变量 a
System.out.println("a输出的值是:"+a);
^
test.java:7: 无法从静态上下文中引用非静态 变量 b
System.out.println("b输出的值是:"+b);
^
2 错误
为什么全局变量必须是静态变量,我要如何让全局变量成为实例变量呢??求高手解答,谢谢。。
int a=123;
final int b=11111;
public static void main(String[] args){
int c=-123;
System.out.println("a输出的值是:"+a);
System.out.println("b输出的值是:"+b);
System.out.println("c输出的值是:"+c);}
}报错test.java:6: 无法从静态上下文中引用非静态 变量 a
System.out.println("a输出的值是:"+a);
^
test.java:7: 无法从静态上下文中引用非静态 变量 b
System.out.println("b输出的值是:"+b);
^
2 错误
为什么全局变量必须是静态变量,我要如何让全局变量成为实例变量呢??求高手解答,谢谢。。
final int b=11111;把每个变量都定义成static的就可以了。
改成static int a =123;
static final int b=11111;
如果要实现全局变量,可以把变量改为静态的:
public class test{
static int a=123;
static final int b=11111;
public static void main(String[] args){
int c=-123;
test t=new test();
System.out.println("a输出的值是:"+a);
System.out.println("b输出的值是:"+b);
System.out.println("c输出的值是:"+c);}
}
或者使用单例模式构造实例。
改成
test t = new test();
System.out.println("a输出的值是:"+t.a);
System.out.println("b输出的值是:"+t.b);
System.out.println("a输出的值是:"+t.a);
System.out.println("b输出的值是:"+t.b);
是如何改,我是初学者,麻烦您再说说如何这样更改?
还有就是类和对象如何区别?