Добрый вечер! Ребят, подскажите, пожалуйста, а почему у двух static получается разный результат? Я обратился к этой статье. Я понял почему public true, но static завел меня в тупик. Есть предположение, что методы только бывают статичными, а классы нет. Хотя стоп, классы же тоже статичны(внутренние). ЧТО ПРОИСХОДИТ?)
public static void main(String[] args) {
        int classModifiers = Solution.class.getModifiers();
        System.out.println(isModifierSet(classModifiers, Modifier.PUBLIC));   //true
        System.out.println(isModifierSet(classModifiers, Modifier.STATIC));   //false
        int methodModifiers = getMainMethod().getModifiers();
        System.out.println(isModifierSet(methodModifiers, Modifier.STATIC));      //true
    }
    public static boolean isModifierSet(int allModifiers, int specificModifier) {
        return (allModifiers & specificModifier) > 0;
    }
    private static Method getMainMethod() {
        Method[] methods = Solution.class.getDeclaredMethods();
        for (Method method : methods) {
            if (method.getName().equalsIgnoreCase("main")) return method;
        }
        return null;
    }