Wenn Sie in der Java-Programmierung versuchen, etwas Kompliziertes zu tun, fällt Ihnen immer die Reflexion ein. Ich denke, dass Sie häufig einen Prozess schreiben, der Reflexion verwendet, um eine Liste von Methoden für eine bestimmte Klasse abzurufen. Wenn Sie jedoch feststellen möchten, ob die erfasste Methode statisch ist oder nicht, können Sie den Modifikator # isStatic verwenden. Verwenden Sie `__. Unten ist ein Beispiel.
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(){};
}
}
Referenz: "Modifikator (Java Platform SE 8)"
Recommended Posts