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 {
}
}