当前位置: 代码迷 >> Java相关 >> 静态引用??
  详细解决方案

静态引用??

热度:222   发布时间:2007-03-23 16:35:59.0
静态引用??

public class PassValue {
public static void main(String[] args){
int x=5;
change(x);//为什么如果change()不是静态方法会出现"不能对类型 PassValue 中的非静态方法 change(int)进行静态引用

System.out.println(x);
}
public static void change(int y){
y=3;
}

希望高手解释一下?谢谢!

搜索更多相关的解决方案: 静态  change  int  public  void  

----------------解决方案--------------------------------------------------------

首先你要明白静态与非静态的关系,静态可以调用非静态,反之jvm就会抗议,


----------------解决方案--------------------------------------------------------
class YiYong{
int m;
public static void main(String[] args){
YiYong n=new YiYong();
n.m=1;
change(n);
System.out.println(m);//不能是m,需是n.m,按楼上说,直接用m就行了?????
}
public static void change(YiYong u){
u.m=0;
}
}
----------------解决方案--------------------------------------------------------

因为在你调用静态方法的时候,引入非静态的属性和方法可能没实例化。


----------------解决方案--------------------------------------------------------
面向对象的思维还没有形成
----------------解决方案--------------------------------------------------------
静态的东西是属于类,而动态的东西是属于对象
----------------解决方案--------------------------------------------------------

是一个细节问题,翻翻书找到了答案,谢谢各位!


----------------解决方案--------------------------------------------------------
  相关解决方案