public class Test{
int i;
}
和在
public static void main(String [] args){
int i;
}
的区别
public class Foo {
int i;
static String s;
void imethod(){
}
static void smethod(){
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Foo f=new Foo();
System.out.println(f.i);
System.out.println(f.s);
f.imethod();
f.smethod();
System.out.println(Foo.i);//为什么这里错了
System.out.println(Foo.s);//为什么这里却是对的
Foo.imethod();//为什么这里错了
Foo.smethod();//为什么这里却是对的
} } 谢谢各位大虾了!!!
int i;
}
和在
public static void main(String [] args){
int i;
}
的区别
public class Foo {
int i;
static String s;
void imethod(){
}
static void smethod(){
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Foo f=new Foo();
System.out.println(f.i);
System.out.println(f.s);
f.imethod();
f.smethod();
System.out.println(Foo.i);//为什么这里错了
System.out.println(Foo.s);//为什么这里却是对的
Foo.imethod();//为什么这里错了
Foo.smethod();//为什么这里却是对的
} } 谢谢各位大虾了!!!
Foo换成对象 f.i
楼主可以看下关于静态变量的内容
System.out.println(Foo.s);//为什么这里却是对的
因为s是static的,而i不是
静态方法如main方法里不能引用非静态的成员。
java没有全局变量,变量分局部变量和成员变量。