Java如何获得类对象的修饰符?

package org.nhooo.example.reflect;

import java.lang.reflect.Modifier;

public class ClassModifier {
    public static void main(String[] args) {
        getClassModifier(String.class);        
        getClassModifier(TestA.class);
        getClassModifier(TestB.class);
    }

    private static void getClassModifier(Class clazz) {
        int modifier = clazz.getModifiers();

        // 如果整数参数包含public修饰符,则返回true,
        // 否则为假。
        if (Modifier.isPublic(modifier)) {
            System.out.println(clazz.getName() + " class modifier is public");
        }

        // 如果整数参数包含protected修饰符,则返回true,
        // 否则为假。
        if (Modifier.isProtected(modifier)) {
            System.out.println(clazz.getName() + " class modifier is protected");
        }

        // 如果整型参数包含private修饰符,则返回true;
        // 否则为假。
        if (Modifier.isPrivate(modifier)) {
            System.out.println(clazz.getName() + " class modifier is private");
        }

        // 如果integer参数包含static修饰符,则返回true,
        // 否则为假。
        if (Modifier.isStatic(modifier)) {
            System.out.println(clazz.getName() + " class modifier is static");
        }

        // 如果整数参数包含final修饰符,则返回true,
        // 否则为假。
        if (Modifier.isFinal(modifier)) {
            System.out.println(clazz.getName() + " class modifier is final");
        }

        // 如果integer参数包含abstract修饰符,则返回true,
        // 否则为假。
        if (Modifier.isAbstract(modifier)) {
            System.out.println(clazz.getName() + " class modifier is abstract");
        }
    }

    protected static final class TestA {
    }

    private abstract class TestB {
    }
}