近来用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自然为假。 

 

 

 

相关文章:

  • 2021-09-16
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2022-03-06
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-01-27
  • 2022-01-03
  • 2021-12-12
  • 2021-11-11
  • 2022-01-18
  • 2021-07-18
  • 2022-12-23
相关资源
相似解决方案