大哥帮忙啊,小弟求救啊!!!!

cjoy4856 2008-06-19 09:21:50
变量int a;
a=a+4;
System.out.println(a);
不能编译
为什么给int a的前面加static
a=a+4;
System.out.println(a);
这个就能编译?
...全文
110 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
psyl 2008-06-20
  • 打赏
  • 举报
回复
9,10,11楼正解,尤其是11楼的静态调用。。

楼主可以看看。。
xulihmily1314 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xiongxunqin 的回复:]
原因一: 在静态方法中只能访问静态变量;
原因二: 变量在未初始化就使用。定义为static ,就会有默认值
所以要加static
[/Quote]
dengfeiling 2008-06-20
  • 打赏
  • 举报
回复
前面说的都对~~~自己看着办吧
  • 打赏
  • 举报
回复
请帖代码出来。




在静态方法中只能访问静态变量;
cuijie_cn 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xiongxunqin 的回复:]
原因一: 在静态方法中只能访问静态变量;
原因二: 变量在未初始化就使用。定义为static ,就会有默认值
所以要加static
[/Quote]
gshywx 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xiongxunqin 的回复:]
原因一: 在静态方法中只能访问静态变量;
原因二: 变量在未初始化就使用。定义为static ,就会有默认值
所以要加static
[/Quote]\\

楼上回答得好呀
nihuajie05 2008-06-20
  • 打赏
  • 举报
回复
告诉楼Z...你可以先NEW 一个对象,调用对象的a属性
另..9L,你确定你的代码没有错误吗?据我所知,局部变量是不会被默认初始化的,你这样不存在初始化问题吗?直接就做+=操作的话
ilrxx 2008-06-19
  • 打赏
  • 举报
回复
public static void main(String[] args){}这个main方法是静态的方法,如果:

int a = 4;
public static void main(String[] args){
System.out.print(a);
}
就不对了,java规定静态方法中是不允许引用非静态变量的

如下:
static int a = 4;
public static void main(String[] args){
System.out.print(a);
}

就没事了
巧乐之 2008-06-19
  • 打赏
  • 举报
回复
或者:

public class Test {
Test() {
int a;
a = a + 4;
System.out.println(a);
  }

public static void main(String[] args)
{
new Test() ;
}
}
巧乐之 2008-06-19
  • 打赏
  • 举报
回复
改成这样就行了:

public class Test
{
public static void main(String[] args)
{
int a;
a = a + 4;
System.out.println(a);
}
}
hero_winner 2008-06-19
  • 打赏
  • 举报
回复
很简单,你在静态方法中引用了非静态变量
interpb 2008-06-19
  • 打赏
  • 举报
回复
估计你的方法是static的方法吧
xiongxunqin 2008-06-19
  • 打赏
  • 举报
回复
原因一: 在静态方法中只能访问静态变量;
原因二: 变量在未初始化就使用。定义为static ,就会有默认值
所以要加static
craky 2008-06-19
  • 打赏
  • 举报
回复

public class Test
{
static int a;

public static void main(String[] args)
{
a = a + 4;
System.out.println(a);
}
}


如果你的代码类似这样,那原因是静态方法只能访问静态字段,如果不是这个样子,那请帖代码出来。
bootupnow 2008-06-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhj92lxs 的回复:]
很有可能是你在static方法中引用了非static变量
[/Quote]
帖代码就知道了
老紫竹 2008-06-19
  • 打赏
  • 举报
回复
此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主截止到2008-06-19 21:26:16的汇总数据:
注册日期:2008-5-23
上次登录:2008-6-19
发帖数:1 发帖分:20
结贴数:0 结贴分:0
结贴率:0.00 % 结分率:0.00 %
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
zhj92lxs 2008-06-19
  • 打赏
  • 举报
回复
很有可能是你在static方法中引用了非static变量

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧