创建对象 - 1

“嗨,你最喜欢的老师又来了。由于你取得了这么大的进步,所以我决定向你讲讲对象以及如何使用对象。”

要创建对象,你需要键入关键字‘new’,后跟其类型名称(类名)。例如,假定我们有一个名为‘Cat’的类:”

代码 说明
Cat cat;
声明名为 cat 的 Cat 引用变量。变量 cat 的值为 null。
new Cat();
创建 Cat 对象。
Cat cat = new Cat();
创建名为 cat 的 Cat 引用变量。
创建新的 Cat 对象。将对新创建的对象的引用赋给变量 cat。
Cat kitty = new Cat();
Cat smokey = new Cat();
创建两个对象。将对这两个对象的引用赋给两个不同的变量。
Cat kitty = new Cat();
Cat smokey = new Cat();

smokey = kitty;
创建两个对象。将对这两个对象的引用赋给两个不同的变量。

然后,我们将变量 smokey 设置为等于对变量 kitty 所引用的对象的引用。两个变量现在都引用最先创建的对象。
(由于任何地方都不再引用第二个对象,因此它现在被视为垃圾)

Cat kitty = new Cat();
Cat smokey = null;

smokey = kitty;

kitty = null;
创建一个 Cat 对象,并将其引用赋给第一个变量 (kitty)。第二个变量 (smokey) 存储一个空 (null) 引用。

两个变量引用同一个对象。

现在,只有 smokey(而不是 kitty)引用对象。

“如果我们创建一个对象而不在任何变量中保存引用,会发生什么?”

“如果我们只是创建一个对象而不将其赋给变量,Java 机器将创建该对象,然后将其声明为垃圾(未使用的对象)。不久后,将在垃圾收集期间处理该对象。”

“我该如何处理不再需要的对象?”

“你不需要处理。一旦没有变量引用某个对象,该对象就会被标记为垃圾, Java 机器在下次收集垃圾时会将其销毁。

只要对象至少有一个引用,该对象即被视为活跃对象并且不会被销毁。如果你想尽快处理对象,可以通过为引用该对象的所有变量赋值 null 来清除该对象的所有引用。

“我明白了。与上几节课相比,这节课看起来非常简单。”

“迭戈整夜都在考虑给你布置什么任务。他做出如此特别的努力,都只为了你。他很有幽默感,你觉得吗?”