我试图围绕对象的正确命名。 所以,让我说我打电话 水果苹果=新水果(苹果); 也是 Fruit(1st)数据类型 apple(1st)对象的名称 Fruit()对构造函数的调用 apple(2nd)对名为apple的对象的引用 还是我完全不在命名? 我知道它们是如何运作的,但我只想让命名正确。
答案 0 :(得分:2)
Fruit apple = new Fruit(apple);
首先,这不会编译。您在初始化之前尝试使用apple
。
让我们改为
Fruit apple = new Fruit(numOfSeeds);
表达式的左侧(=
赋值运算符的左侧)声明了Fruit
类型的新 变量 。
表达式的右侧是类型为Fruit
的 新实例创建表达式 。此新实例创建表达式使用单个参数调用Fruit
构造函数。表达式将单个参数传递给此构造函数调用。此参数将是通过评估变量numOfSeeds
解决的值。
当评估右侧的表达式时,JVM将创建一个类型为Fruit
的新实例,并将该实例的引用值分配给左侧的变量。
答案 1 :(得分:0)
Fruit(1st)数据类型apple(1st)也是对象的名称 Fruit()调用构造函数apple(2nd)对对象的引用 名叫苹果
几乎正确。第一个Fruit不仅是一个数据类型,也是一个类名,即要实例化的类。此外,正如Sotirios Delimanolis指出的那样,你的例子不会编译,因为在它中你会尝试声明一个对象并在同一时间在构造函数中使用它。