public static class Test{ int i=0; //此处不需要加static 局部变不能用静态修饰…因为局部变量它定义的局部使用,不能长期存在,而静态变量会一直保存在内存 中,两者本/质上是冲突的. //变量分成局部变量和成员变量,成员变量又分成类变量(用static修饰)和实例变量,静态方法可以调用所有的成员变量,普通方法只能调用非静态变量,也就是实例变量 public int aMethod( ){ i++; return i; } public static void main(String [] args){ Test test = new Test( ); test.aMethod( ); System.out.println(test.aMethod( )); } |
skyfly 发表于 2014-4-14 01:27
你这些代码 一定系统报错! 因为你定义了静态变量, 这个方法必须也要是静态的才行。 认真想想,方法不定 ...
歌诗王道 发表于 2014-4-13 21:40
因为你调用了两次aMehtod方法
test.aMethod( ); //i++,i从0变到了1
System.out.println(test.aMethod( )) ...
々白点潜心ザ 发表于 2014-4-14 08:50
非静态的方法可以调用静态变量的,只是静态的有限制,必须调用静态吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |