赋值问题? myBall=ball;//在这种情况下,ball和myBall是不是还是指向同一块内存地址呢?当然是了Sphere myBall=new Sphere;这句生成的空间就要被回收了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Sphere ball=new Sphere;Sphere myBall=new Sphere;这两句表示在内存中分别为ball和myball分配了空间myBall=ball表示将ball赋值给了myball,即他们都指向内存的同一块空间!不过原来myball的空间就要被java的垃圾回收器清理掉了! Sphere myBall=new Sphere;分配的内存在myBall=ball后失去引用,将被收回! public class Sphere{public static void main(String [] args){Sphere ball=new Sphere();Sphere myBall=new Sphere();System.out.println(ball);System.out.println(myBall);System.out.println("=============================");myBall=ball;System.out.println(ball);System.out.println(myBall);}}楼主可以用这段代码去测试一下!从打印出来的地址,你可以发现很多东西 java中没有使用new的赋值都只是针对reference的赋值(primitive type除外),也就是简单的让一个变量可以控制这个对象。 myBall=ball;//在这种情况下,ball和myBall已经不是指向同一个内存地址了。 利用反射调用可变参数函数的问题 JAVAMAIL如何建立发件箱 在WAP客户端能不能执行命令行 jbuilderx 编译错误:(Internal compiler error: java.lang.NullPointerException.) 高分问一个菜鸟问题,怎么把文本中的数据读出来 太郁闷了! 急!请问如何完全显示有很长字符的表格的列名 请高手指教--java传递对象引用的问题 圣诞快乐--散分--来着有分 新手求问一个方法 jbuilder4怎么使用? 高分问个简单问题
Sphere myBall=new Sphere;
这两句表示在内存中分别为ball和myball分配了空间
myBall=ball
表示将ball赋值给了myball,即他们都指向内存的同一块空间!不过原来myball的空间就要被java的垃圾回收器清理掉了!
分配的内存在myBall=ball后失去引用,将被收回!
{public static void main(String [] args)
{
Sphere ball=new Sphere();
Sphere myBall=new Sphere();System.out.println(ball);
System.out.println(myBall);
System.out.println("=============================");
myBall=ball;
System.out.println(ball);
System.out.println(myBall);
}
}
楼主可以用这段代码去测试一下!
从打印出来的地址,你可以发现很多东西