变量int a;
a=a+4;
System.out.println(a);
不能编译
为什么给int a的前面加static
a=a+4;
System.out.println(a);
这个就能编译?
a=a+4;
System.out.println(a);
不能编译
为什么给int a的前面加static
a=a+4;
System.out.println(a);
这个就能编译?
解决方案 »
- selfNumbers
- myeclipse6.6 自动检错与自动编译问题
- static关键字用法寻求帮助
- 一个JTextField的问题,在线等……………………!!
- 调用的一个方法返回一个InputStream,然后再把此InputStream作为参数传给另一个方法,我想问那谁来负责关闭此InputStream了?
- 如何得到一个变量的类型?
- 如何把一个文件的数据读入到一个Byte[]数组中?
- 如何鎖定Jdbtable中的某几個列??
- 安装JBUILDER7时,同时自动安装了JSE/JRE/JDK1.3,我如何再升级(安装)1.4?
- Jcreator第一次启动的时候出现的对话框有什么作用,我要怎么样设置??
- 有段代码不明白,请解释,谢谢!分不够马上加!!!!
- java的一个小问题
楼主截止到2008-06-19 21:21:59的汇总数据:
注册日期:2008-5-23
上次登录:2008-6-19
发帖数:1
结贴数:0
结贴率: 0.00%
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
楼主截止到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
public class Test
{
static int a; public static void main(String[] args)
{
a = a + 4;
System.out.println(a);
}
}
如果你的代码类似这样,那原因是静态方法只能访问静态字段,如果不是这个样子,那请帖代码出来。
原因二: 变量在未初始化就使用。定义为static ,就会有默认值
所以要加static
{
public static void main(String[] args)
{
int a;
a = a + 4;
System.out.println(a);
}
}
Test() {
int a;
a = a + 4;
System.out.println(a);
} public static void main(String[] args)
{
new Test() ;
}
}
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);
}就没事了
另..9L,你确定你的代码没有错误吗?据我所知,局部变量是不会被默认初始化的,你这样不存在初始化问题吗?直接就做+=操作的话