实例化一个类还是不实例化?

发布于 2024-11-10 10:15:13 字数 283 浏览 3 评论 0原文

我正在查看一些 lwjgl 的教程,我想到不要将类实例化在变量中,而是实例化它并直接调用该方法而不保存对象。

我想知道当您以后不必重用该对象时这样做是否很好,或者是否最好始终保留该对象。

我的意思是:

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

相反:

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

谢谢。

I'm looking at some lwjgl's tutorials and occurred to me instead of keeping the class instantiated in a variable, instantiate it and call the method directly without saving the object.

I was wondering if it's good to do this when you don't have to reuse the object later, or whether it is best to always keep the object.

I mean this:

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

instead it:

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

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

三岁铭 2024-11-17 10:15:13

如果您以后不打算使用该对象,那么实际上没有任何区别。所以选项 1 没问题。如果您遵循选项 2 并且最终没有在代码中使用 l2 ,那么无论如何它都会被垃圾收集。

There is not really any difference if you do not plan to use the object later. So option 1 is fine. If you follow option 2 and end up not using l2 later in the code then it will get garbage collected anyway.

零度° 2024-11-17 10:15:13

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

As long as you do not have to use the object later then the first option should be fine.

听风吹 2024-11-17 10:15:13

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

I usually use the first option unless there is a lot of parameters to the constructor and function, then I prefer to split it for readability. General rule: use whatever is more understandable and readable.

属性 2024-11-17 10:15:13

由于Java是一种垃圾收集语言,因此第一种方式是完全可以接受的。与第二个相比,我更喜欢它的紧凑性和整洁性。

Since Java is a garbage collected language, the first way is perfectly accepted. I would prefer it for its compactness and clutterlessness over the second one.

仙女山的月亮 2024-11-17 10:15:13

这两个选项实际上是相同的。

如果编译器不擅长优化,那么第一个编译器可能会更快,因为它更有可能被 GC 快速回收。

The two options are practically identical.

If the compiler is bad at optimising then the first one may infinitesimally be faster, because it is more likely to be quickly reclaimed by the GC.

多情出卖 2024-11-17 10:15:13

无论如何,前一个选项都会创建一个临时引用变量;无论命名还是未命名,您都有一个引用堆上对象的局部变量。如果它不再使用,垃圾收集器将为您清理。

这两个选项仅在可读性方面有所不同,因此您可以从这一角度选择您喜欢的一个。

The former option will create a temporary reference variable anyway; named or unnamed, you have a local variable referencing an object on the heap. If it's never used again, the garbage collector will clean up for you.

The two options differ only in readability and so you can select the one you prefer from that standpoint.

落日海湾 2024-11-17 10:15:13

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

The first way is best accepted because Java can allocate memory for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文