public class Test
{
int x;
public static void main (String[] args)
{
int x=1;
System.out.println(x);
Test test=new Test();
System.out.println(test.x);
test.assign1(); //assign1使用完应该有使x为2,为什么x会变0,它要清除堆栈也要运行x=2 System.out.println(test.x);
test.assign2();
System.out.println(test.x);
System.out.println(x);
}
public void assign1()
{
int x=2;
}
public void assign2()
{
x=3;
}
}运行结果: 1
0
0
3
11. 第三个为什么是0,assign1()方法使用完应该有使x为2,为什么x会变0,它要清除堆栈也要运行x=2
2. 一开始的 int x 到底有没有分配空间,是不是只要是变量都会分配一块固定的空间,还是 需要 产生一个对象才能分配一块空间?
{
int x;
public static void main (String[] args)
{
int x=1;
System.out.println(x);
Test test=new Test();
System.out.println(test.x);
test.assign1(); //assign1使用完应该有使x为2,为什么x会变0,它要清除堆栈也要运行x=2 System.out.println(test.x);
test.assign2();
System.out.println(test.x);
System.out.println(x);
}
public void assign1()
{
int x=2;
}
public void assign2()
{
x=3;
}
}运行结果: 1
0
0
3
11. 第三个为什么是0,assign1()方法使用完应该有使x为2,为什么x会变0,它要清除堆栈也要运行x=2
2. 一开始的 int x 到底有没有分配空间,是不是只要是变量都会分配一块固定的空间,还是 需要 产生一个对象才能分配一块空间?
解决方案 »
- 一个简单的服务器端程序,为什么通不过呢?
- 有没有办法取得当前函数的名称?
- 怎么在vista home basic下成功安装sql sever2000
- 多线程的问题一个
- 再简单不过的问题
- 关于包的问题~~求助~
- intellijideal 安装的时候出现"更多数据可用"的win32Error
- RH7.3 LINUX下怎么配置J2SDK的环境...
- 百思不得其解
- 关于jbuilder和vss整合
- 各位老师啊,我在struts中的action中将有4个属性的bean对象放入arraylist中了,转到jsp页面怎么通过Struts标签取出来啊?帮忙
- servlet 跟 jsp 有几个方法获得参数啊?
{
x=2; //这样才是对成员x赋值
}x 肯定肯定分配空间了不然 你为什么会打印出0呢 默认就是0局部变量与成员变量不要重名 很难调试呢
2、分配了,但是因为这个是简单类型,如果是Integer x的话应该只是创建了一个引用