Java学习笔记-Java中的类指针问题

近来用JavaA题,坐到了链表系列,效果不好,可能是自己对Java中指针的理解不够,下面来分析一下:

Java不是没有指针,而是对指针进行了伪装:使用上泛化、强化和简单化,概念上淡化和弱化。

1.Java强调所有的对象赋值和传递都是引用

Object a=new Object(); 创建一个对象,a是对这个对象的引用

b=a; b并不是一个新对象,它是对a对象的引用。其实呢,a是指针,b也是指针,将a的值赋给b,也就是将a所存储的地址赋给b,b自然指向了a所指向的对象。

2.Java强调两个对象的相等比较(==)不是比较两个对象的值是否相同,是比较两个对象是不是相同的引用。

字符串是一个比较特殊的Java对象。
String a=new String("abc"); String b=new String("abc");

a==b为假,两个对象引用不同。

==的意义并没有变。a是指针,b也是指针,a、b存储的都是地址,当两个变量存储了同一个对象的地址时,这两个地址当然相等,a==b自然是真。当两个变量存储了不同对象的地址,这两个地址值当然不同,a==b自然为假。