The Java TM Tutorial

| Start of Tutorial > Start of Trail > Start of Lesson | Search

Trail: The Reflection API
Lesson: 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:
> 1. Invoke `getModifiers` on a `Class` object to retrieve a set of modifiers.
> 2. 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

| Start of Tutorial > Start of Trail > Start of Lesson | Search