我有一个名为 Sample
的类,它在我的代码中使用,如下所示:
class Sample{
.
.
Object someMethod(){
return someObject;
}
.
.
}
我这样调用它:
Object ob = new Sample().someMethod();
我想知道如果我创建任何类的匿名``Object(
new Sample())并调用任何
require方法是否有任何优势如果我不再使用这个
Object`。
最佳答案
我假设您正在询问您发布的代码,与以下代码相比:
Sample s = new Sample();
s.someMethod();
(您将 new Sample()
显式分配给局部变量)。
无论怎样,都没有显着的性能或内存优势。如果将引用存储在局部变量中,然后调用该方法,我认为存储引用可能会带来(极)小的性能损失。然而,我怀疑许多编译器会注意到,一旦调用该方法,变量就死了,并且会优化分配。 JIT 编译器可能会完成这项工作。但我们最多讨论几个 cpu 周期。
关于java - 匿名对象有什么优点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27812426/