对象和对象变量勿混淆

前言

  Java 和 C++ 一个很大的不同点在于对象的定义。在 C++ 中,定义一个对象直接是:

  类名 对象名 (构造形参);

  就可以了。

  但 Java 并不是这么定义的。那么 Java 中怎么定义?这样定义又会带来哪些影响?这就是本文要讲述的内容。

Java 中定义对象变量的方法

  类名 对象名 = new 类名 (构造形参);

  聪明的读者想必已经发现这里的问题 - new 返回的是指针,而赋值号左边却是一个类类型,难道会发生隐式转换?

  答案是不会。

  Java 中 类名 对象名; 将会生成一个对象变量,它本身就是指针类型( 指向对象 ),这不同与 C++。C++ 中直接会生成一个对象

  可以认为,Java 中的“ 对象 ”其实是 C++ 中指向对象的指针,它更应该被称为对象变量

原文地址:https://www.cnblogs.com/scut-fm/p/3657409.html