package org.kodejava.lang.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();
// Return true if the integer argument includes the public modifier,
// false otherwise.
if (Modifier.isPublic(modifier)) {
System.out.println(clazz.getName() + " class modifier is public");
}
// Return true if the integer argument includes the protected modifier,
// false otherwise.
if (Modifier.isProtected(modifier)) {
System.out.println(clazz.getName() + " class modifier is protected");
}
// Return true if the integer argument includes the private modifier,
// false otherwise.
if (Modifier.isPrivate(modifier)) {
System.out.println(clazz.getName() + " class modifier is private");
}
// Return true if the integer argument includes the static modifier,
// false otherwise.
if (Modifier.isStatic(modifier)) {
System.out.println(clazz.getName() + " class modifier is static");
}
// Return true if the integer argument includes the final modifier,
// false otherwise.
if (Modifier.isFinal(modifier)) {
System.out.println(clazz.getName() + " class modifier is final");
}
// Return true if the integer argument includes the abstract modifier,
// false otherwise.
if (Modifier.isAbstract(modifier)) {
System.out.println(clazz.getName() + " class modifier is abstract");
}
}
protected static final class TestA {
}
private abstract class TestB {
}
}
The code snippet prints the following output:
java.lang.String class modifier is public
java.lang.String class modifier is final
org.kodejava.lang.reflect.ClassModifier$TestA class modifier is protected
org.kodejava.lang.reflect.ClassModifier$TestA class modifier is static
org.kodejava.lang.reflect.ClassModifier$TestA class modifier is final
org.kodejava.lang.reflect.ClassModifier$TestB class modifier is private
org.kodejava.lang.reflect.ClassModifier$TestB class modifier is abstract
Latest posts by Wayan (see all)
- How do I split large excel file into multiple smaller files? - April 15, 2023
- How do I get the number of processors available to the JVM? - March 29, 2023
- How do I show Spring transaction in log / console? - March 29, 2023