标题:静态引用??
只看楼主
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
 问题点数:0 回复次数:6 
静态引用??

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 
2007-03-23 16:35
lxx2844
Rank: 1
等 级:新手上路
威 望:2
帖 子:129
专家分:0
注 册:2006-12-5
得分:0 

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


www./ Bst Love java!
2007-03-23 16:42
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
得分:0 
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;
}
}

在不断的拼搏与进取中,定能创造一片天地!
2007-03-23 16:45
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
得分:0 

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


我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-23 16:47
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
得分:0 
面向对象的思维还没有形成

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-03-23 16:48
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
静态的东西是属于类,而动态的东西是属于对象

淘宝杜琨
2007-03-23 17:00
zhufeifei
Rank: 1
等 级:新手上路
威 望:2
帖 子:402
专家分:0
注 册:2006-8-11
得分:0 

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


在不断的拼搏与进取中,定能创造一片天地!
2007-03-23 17:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-126182-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.060059 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved