En programmation Java, lorsque vous essayez de faire quelque chose d'un peu compliqué, la réflexion vous vient toujours à l'esprit. Je pense que vous écrivez souvent un processus qui utilise la réflexion pour acquérir une liste de méthodes pour une certaine classe, mais si vous voulez déterminer si la méthode acquise est statique ou non, vous pouvez utiliser Modifier # isStatic. Utilisez
__. Voici un exemple.
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class StaticTest {
public static void main(String[] args) {
Method[] methods = Sample.class.getDeclaredMethods();
for (Method method : methods) {
if (Modifier.isStatic(method.getModifiers())) {
System.out.println(method.getName());
// => privateStaticMethod publicStaticMethod
}
}
}
public static final class Sample {
public static void publicStaticMethod() {};
private static void privateStaticMethod() {};
public void publicInstanceMethod(){};
private void privateInstanceMethod(){};
}
}
Référence: "Modifier (Java Platform SE 8)"