你真的懂引用与对象?

解释一个误解

如下表达式:

A  a = new A();

这个表达式代表A是类名,a不是对象,new A()才是对象!a引用指向new A()的对象。我们平常通过书本上理解到的以及平时提起的对象对默认当做了a。

在java中,“=”通常被称为赋值,其实严格意义上来说这是不严谨的,会给我们带来误解,它实际的执行过程是将右边的对象传给左边的引用,这个过程其实是在传递地址。java看似没有指针的概念,大大降低了学习java的门槛,其实我们的引用就是一个指针,它指向我们的地址。再如:

A  a;

A是类名,a是引用,a所指向的对象为空null;

a1 = a2;

a1和a2都是引用,这个表达式的意思是把a2所指向的对象的地址传递给a1;

    原文作者:麦兜叮叮当
    原文地址: https://www.jianshu.com/p/313900e36ba4
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞