是否实例化一个类?

时间:2011-05-28 20:41:53

标签: java opengl lwjgl

我正在查看一些lwjgl的教程并且发生在我身上,而不是让类在变量中实例化,实例化它并直接调用方法而不保存对象。

我想知道如果以后不必重复使用该对象,或者最好是始终保留该对象,这样做是否合适。

我的意思是:

(new Lesson02()).run(fullscreen);
而不是:

Lesson02 l2 = new Lesson02();
l2.run(fullscreen);

感谢。

7 个答案:

答案 0 :(得分:3)

如果您以后不打算使用该对象,则没有任何区别。因此选项1很好。如果你遵循选项2并且最后在代码中没有使用l2,那么无论如何都会收集垃圾。

答案 1 :(得分:2)

只要您以后不必使用该对象,那么第一个选项应该没问题。

答案 2 :(得分:2)

我通常使用第一个选项,除非构造函数和函数有很多参数,然后我更喜欢将其拆分以便于阅读。一般规则:使用更易理解和可读的内容。

答案 3 :(得分:2)

由于Java是一种垃圾收集语言,第一种方式是完全被接受的。我更喜欢它的紧凑性和凌乱,而不是第二个。

答案 4 :(得分:2)

这两个选项实际上完全相同。

如果编译器在优化方面不好,那么第一个可能无限快,因为它更有可能被GC快速回收。

答案 5 :(得分:2)

前一个选项无论如何都会创建一个临时引用变量;在命名或未命名的情况下,您有一个引用堆上对象的局部变量。如果它再也没用过,垃圾收集器会为你清理。

这两个选项的不同之处仅在于可读性,因此您可以从该角度选择您喜欢的选项。

答案 6 :(得分:1)

第一种方式最好被接受,因为Java可以为你分配内存。