请教个问题:
class canshu
{
int x ;
public static void main(String[] args)
{
canshu obj=new canshu();
obj.x=5;
change(obj);
System.out.println(obj.x);
}public static void change(canshu obj)
{
obj.x=3;
}
}在这个程序中为什么非要定义个全局的int x;才可以呢?难道在堆内存中对象obj的属性x所使用的内存空间为int x创建的么?谢谢了!
class canshu
{
int x ;
public static void main(String[] args)
{
canshu obj=new canshu();
obj.x=5;
change(obj);
System.out.println(obj.x);
}public static void change(canshu obj)
{
obj.x=3;
}
}在这个程序中为什么非要定义个全局的int x;才可以呢?难道在堆内存中对象obj的属性x所使用的内存空间为int x创建的么?谢谢了!
解决方案 »
- 关于List排序问题
- 急!!!!!!!!tomcat的问题,好奇怪!!!!!!
- 请问如何将一个double或float转换成int?(转换成比自己稍少的一个int,比自己稍大的int,根据四舍五入转换成int?)
- filereader和fileinputstream有什么区别?
- 基础问题,....NoclassDefFoundError:...
- 小弟做的一个端口扫描器,真诚恳请大家指导修改
- 刚一开始时,为什么不能把焦点设置到窗口中,而不是在按钮上
- 我怎么将插入在TextArea中的内容显示在当前页面?详细内容请入内查看!!
- win2000下安装jdk1.3的问题。。。
- java编程输入汉字时导致字体变绿。后面出现乱码
- 怎么将java中的一个class传递赋值给c中的一个struct
- JAVA的迷茫之路,还望高人指点.....
你说的x不定义全局
change(obj)
怎么访问哦..
public static void change(canshu obj)
{
obj.x=3;
}
这就是引用传递;
public static void change(int x)
{
x=3;
}
这就是引用传递!我想对于他们的区别应该不用解释了吧!
public static void change(int x)
{
x=3;
}
这就是值传递!
java里那野犬为的全局变量一说?
obj.x为对象的一个属性,你所写的例子只是关于对象的一些基本应用而已,并没有什么特别的地方。
是不是楼主对面向对象的思想还有些不太熟悉的地方。
面向对象中的几个概念一定要理解清楚才可以的。
类,对象,属性,方法,封装,实例化,多态。
令人可惜的是,虽然有些大佬非常热心,但是都除了兜圈以外,没有把问题的实质说出来,首先,那些说我的大佬知道栈内存和堆内存的存储机制么?理解我的问题需要一定的内存操作基础的,包括内存中的堆内存与栈内存的关系,以及对象创建的整个过程中,内存的分配、使用及垃圾内存的回收机制(垃圾回收器)。非常抱歉的是很少有人可以从这些实质的角度帮我解决问题,而是围绕在外围讨论一些空泛的东西。非常感谢gongyali2005() 和male110等,让我明白了一些值传递和引用传递方面的知识等~!谢谢!~我喜欢这种有实质性的解答。
我提供的程序是在两台电脑上(xp系统)测试通过的。请检查你拷贝的程序是否因为拷贝等问题出现了错误。
并请高手帮我从内存使用的角度帮我说明下程序中定义 int x 的必要性,谢谢了!
-----------------------------------------------------------------------------------
欢迎各位加入<『Ben』J2EE交流群>QQ群:24711176
令人可惜的是,虽然有些大佬非常热心,但是都除了兜圈以外,没有把问题的实质说出来,首先,那些说我的大佬知道栈内存和堆内存的存储机制么?理解我的问题需要一定的内存操作基础的,包括内存中的堆内存与栈内存的关系,以及对象创建的整个过程中,内存的分配、使用及垃圾内存的回收机制(垃圾回收器)。非常抱歉的是很少有人可以从这些实质的角度帮我解决问题,而是围绕在外围讨论一些空泛的东西。非常感谢gongyali2005() 和male110等,让我明白了一些值传递和引用传递方面的知识等~!谢谢!~我喜欢这种有实质性的解答。
----------------------------------------------------------------------
丫丫的呸!!!!
问问题不能谦虚点么?
------------------------------------------------------
张孝祥和孙鑫这2个SB了不起么?
他们写的书、说的话,什么局部的变量A之类的,
(局部的变量,故而我想到了全局的变量,而且在很多时候理解起来也是很好的)
竟然会让你这个根本不懂OO思想还不懂装懂的人,联想到全局变量,
只能说明:
1、他们流得很(本来嘛,Java没全局变量概念,但能实现全局变量1样的作用;java没指针==这些基本东西都不说清楚的人,还好意思出来误人子弟,骗饭吃!)
2、或者说你流得很!不懂又装懂,还自做聪明!!!
--------------------------------------------------------------
令人可惜的是,虽然有些大佬非常热心,但是都除了兜圈以外,没有把问题的实质说出来,首先,那些说我的大佬知道栈内存和堆内存的存储机制么?理解我的问题需要一定的内存操作基础的,包括内存中的堆内存与栈内存的关系,以及对象创建的整个过程中,内存的分配、使用及垃圾内存的回收机制(垃圾回收器)。非常抱歉的是很少有人可以从这些实质的角度帮我解决问题,而是围绕在外围讨论一些空泛的东西。非常感谢gongyali2005() 和male110等,让我明白了一些值传递和引用传递方面的知识等~!谢谢!~我喜欢这种有实质性的解答。
----------------------------------------------------------------
这种话让人听起来很火大
值传递和引用传递这种基本的东西都不懂
还吹什么内存操作基础、栈内存
我感觉你未必9懂内存,windows怎么分块、分页;linux有分块、分页的概念么?
说老实话,linux kernel我看了2年,但我现在还是不太懂,
人家说我,我还老老实实的听着
----------------------------------------------------
回答问题还有罪了?
你以为你是国家主席A!!!!!
我^你个肺!!!!
丫丫滴,你牛,说了半天还没有说出个道理来。牛个屁!!!!!!!!!!“linux kernel我看了2年,但我现在还是不太懂”这只能说明一个问题,你智力有问题!要不就是你根本不适合学习那个东西。"人家说我,我还老老实实的听着",这只能说明你善于跟风,没有自己的脑袋。
据上考虑,你真它奶奶的,有问题。
你爷爷的,有本事从内存的角度帮我把它理清了,那时你说什么本人都服你!!!!