Thinking in Java
文章平均质量分 75
xjGosling
这个作者很懒,什么都没留下…
展开
-
对象的生存空间
Java对象所拥有的寿命,和基本型别是不一样的。当你使用new来产生一个Java对象,即便离开了生存空间,该对象依然存在。因此如果你这么写:{String s =new String("a string");} /* end of scope */s这个reference将在生存空间之外消失无踪。但是,s先前所指的那个String对象,依然会继续占用内存。但是单看上面这段程序代码,无法访问该对象,原创 2005-03-03 14:59:00 · 1102 阅读 · 0 评论 -
Java中的别名(aliasing)问题
赋值动作是以=运算符为之。赋值(指派)的意义是取得运算符右边的值,将该值复制到运算符的左边。右值可以是认识常量、变量,或有能力产生数值的表达式,左值则必须是个明确的、具名的变量。基本型别的赋值动作相当直觉,因为基本型别存储的是实际数值,而非object reference.当你进行基本型别的赋值动作时,会将某值赋值到另一个值身上。例如,对基本型别写下A=B,B的内容便会被复制给A.如果你接着修原创 2005-03-10 12:43:00 · 3691 阅读 · 2 评论 -
== 与 equals()
先写个程序public class Equivalence{public static void main(String[] args){Integer n1 = new Integer(47);Integer n2 = new Integer(47);System.out.println (n1 == n2);System.out.println (n1 != n2);}}根据我们预想的本例输原创 2005-03-10 13:12:00 · 1170 阅读 · 0 评论