1. Overview

In this quick tutorial, we’ll discuss how we can check if a method is static or not in Java by using the Reflection API.

2. Example

To demonstrate this, we’ll create StaticUtility class, with some static methods:

public class StaticUtility {

    public static String getAuthorName() {
        return "Umang Budhwar";

    public static LocalDate getLocalDate() {
        return LocalDate.now();

    public static LocalTime getLocalTime() {
        return LocalTime.now();

3. Check if a Method Is static

We can check if a method is static or not by using the Modifier.isStatic method:

void whenCheckStaticMethod_ThenSuccess() throws Exception {
    Method method = StaticUtility.class.getMethod("getAuthorName", null);

In the above example, we’ve first got the instance of the method which we want to test by using the Class.getMethod method. Once we have the method reference, all we need to do is just call the Modifier.isStatic method.

4. Get All static Methods of a Class

Now that we already know how to check if a method is static or not, we can easily list all the static methods of a class:

void whenCheckAllStaticMethods_thenSuccess() {
    List<Method> methodList = Arrays.asList(StaticUtility.class.getMethods())
      .filter(method -> Modifier.isStatic(method.getModifiers()))
    Assertions.assertEquals(3, methodList.size());

In the above code, we’ve just verified the total number of static methods in our class StaticUtility.

5. Conclusion

In this tutorial, we’ve seen how we can check if a method is static or not. We’ve also seen how to fetch all the static methods of a class as well.

As always, the complete code for this example is available over on GitHub.

Course – LS (cat=Java)
announcement - icon

Get started with Spring Boot and with core Spring, through the Learn Spring course:


res – REST with Spring (eBook) (everywhere)
Comments are open for 30 days after publishing a post. For any issues past this date, use the Contact form on the site.