Home Page
>
The Reflection API
>
Examining Classes
Discovering Class Modifiers
A class declaration may include the following modifiers: public, abstract,
or final. The class modifiers precede the class keyword in the class
definition. In the following example, the class modifiers are public and
final:
public final Coordinate {int x, int y, int z}
To identify the modifiers of a class at runtime you perform these
steps:
-
Invoke
getModifiers on a Class object to retrieve a set of modifiers.
-
Check the modifiers by calling
isPublic, isAbstract, and isFinal.
The following program identifies the modifiers of the String class.
import java.lang.reflect.*;
import java.awt.*;
class SampleModifier {
public static void main(String[] args) {
String s = new String();
printModifiers(s);
}
public static void printModifiers(Object o) {
Class c = o.getClass();
int m = c.getModifiers();
if (Modifier.isPublic(m))
System.out.println("public");
if (Modifier.isAbstract(m))
System.out.println("abstract");
if (Modifier.isFinal(m))
System.out.println("final");
}
}
The output of the sample program reveals that the
modifiers of the
String class are public and final:
public
final