使用内联对象方法调用与声明新变量

Mar*_*šak 5 c# java oop

我已经和Java和C#合作了一段时间了,我已经多次问自己这个问题,但是我找不到我想要的答案.

当我必须调用一个对象方法(这意味着它不是静态的)时,我必须通过类的实例来调用,例如:

MyClass myInstance = new MyClass();
myInstance.nonStaticMethod();
Run Code Online (Sandbox Code Playgroud)

我到处都看到这种代码,所以我在考虑一线调用(下面的例子)是否表现出不同的性能,或者仅仅是标准的缘故?

这就是我用单线呼叫的意思:

new MyClass().nonStaticMethod();
Run Code Online (Sandbox Code Playgroud)

Jea*_*nal 7

表现可能会是一样的.

但是,new MyClass().nonStaticMethod();通常会调用代码气味 - 这个对象封装了什么状态,你只需要在它上面调用一个方法?(即为什么这不是静态方法?)

编辑:我不打算说它总是坏的 - 在某些情况下,鼓励这样的习语(例如在流畅的构建器对象的情况下) - 但是你会注意到在这些情况下,结果对象在某些情况下仍然很重要办法.

  • 如果你*总是*在调用该方法时执行此操作,那么该方法可能应该是静态的.如果你只是*有时*这样做,那么它可能没问题.偶尔这样做并不是一个大红旗,虽然这样做很多. (3认同)