用空主体调用静态 void 方法有什么作用吗?
Does calling a static void method with empty body do anything?
有一个 Java class 只有一个空主体的静态方法。
package com;
public class MyClass {
public static void EmptyMethod() {
}
}
会在另一个 class 中调用此方法做任何事情,例如
public class AnotherClass
{
public final void someMethod()
{
int i = 10;
MyClass.EmptyMethod();
i = 12;
}
}
?
我看到它在一个 Android 项目中被各种方法调用,但我不明白为什么。
不,没有效果。
只是,如果您真的对性能很着迷,那么该方法调用将花费最少的“时间”。
我会说它确实有效果,原因如下。
通过代码调用 someMethod() 中的静态方法 - 程序仍会调用 EmptyMethod() - 这会被执行,花费最少的时间,就像@David Weber 所说的那样。
如果有 'no effect' 不知何故 Java 会确定静态方法为空,因此请避免对其进行任何操作,就好像调用该方法的代码行根本不存在一样。事实并非如此。
因此 - 它确实有影响 - 但它显然不会在功能上更改此示例中的程序!
有一个 Java class 只有一个空主体的静态方法。
package com;
public class MyClass {
public static void EmptyMethod() {
}
}
会在另一个 class 中调用此方法做任何事情,例如
public class AnotherClass
{
public final void someMethod()
{
int i = 10;
MyClass.EmptyMethod();
i = 12;
}
}
?
我看到它在一个 Android 项目中被各种方法调用,但我不明白为什么。
不,没有效果。 只是,如果您真的对性能很着迷,那么该方法调用将花费最少的“时间”。
我会说它确实有效果,原因如下。
通过代码调用 someMethod() 中的静态方法 - 程序仍会调用 EmptyMethod() - 这会被执行,花费最少的时间,就像@David Weber 所说的那样。
如果有 'no effect' 不知何故 Java 会确定静态方法为空,因此请避免对其进行任何操作,就好像调用该方法的代码行根本不存在一样。事实并非如此。
因此 - 它确实有影响 - 但它显然不会在功能上更改此示例中的程序!