在这种情况下创建了多少个对象?

时间:2017-03-02 13:14:43

标签: java string object

标题说明了一切

public function creator() {
     return $this->belongsTo('App\Models\User', 'creator_id', 'id');
}

我已经看过很多像这样的问题,但是没有一个问题没有发现过尚未启动的字符串。

有人可以帮我这个吗?

谢谢。

3 个答案:

答案 0 :(得分:1)

您正在创建由变量b引用的单个对象,a是一个声明的变量,没有分配任何数据,这不是Java意义上的对象

答案 1 :(得分:1)

第一行只声明一个字符串变量,但不创建对象。在第二行中,使用new关键字创建字符串对象。

所以只创建了一个对象。

答案 2 :(得分:1)

以下是OCA Java SE 7 Programmer I Certification Guide: Prepare for the 1ZO-803 exam的解释:

  

当您使用关键字operator new时,对象会出现在图片中。   您可以使用此对象初始化引用变量。注意声明变量和初始化变量之间的区别。以下是类Person和另一个类ObjectLifeCycle的示例:

class Person {}
class ObjectLifeCycle {
    Person person;
}
  

在前面的代码中,在ObjectLife-Cycle类中没有创建Person类的对象;它只声明一个Person类型的变量。初始化引用变量时会创建一个对象:

class ObjectLifeCycle2 {
    Person person = new Person();
}
  

从语法上讲,一个对象通过使用new运算符而产生。因为   也可以使用=运算符初始化字符串,以下代码是正在创建的String对象的有效示例

class ObjectLifeCycle3 {
    String obj1 = new String("eJava");
    String obj2 = "Guru";
}