Program to demonstrate how to determine class modifiers dynamically using Java Reflection API 
Output of the program :
package com.hubberspot.reflection;
import java.lang.reflect.Modifier;
// Create classes with different modifiers as
// final, abstract, public etc
abstract class Animal
{
}
public final class Dog extends Animal {
 public static void main(String[] args) {
  System.out.println("---------------------------------------------");
  // Get the instance of Class as Dog.class
  Class classDog = Dog.class;
  // Class class has a method called as  getModifiers(). 
  // This method Returns the Java language modifiers for 
  // the class as a integer. The modifiers consist of the 
  // Java Virtual Machine's constants for public, protected, 
  // private, final, static, abstract and interface; 
  // they should be decoded using the methods of class Modifier.  
  int modifier = classDog.getModifiers();
  // Modifier class has many static methods such as isPublic , 
  // isPrivate, isStatic, isFinal, isAbstract etc. These methods
  // returns back a boolean value checking whether given argument to 
  // method is of particular modifier
  // See below for the demo ... 
  if(Modifier.isPublic(modifier))
  {
   System.out.println("Class Dog is declared as:  public");
  }
  if(Modifier.isFinal(modifier))
  {
   System.out.println("Class Dog is declared as:  final");
  }
  if(!Modifier.isStatic(modifier))
  {
   System.out.println("Class Dog is not declared as:  static");
  }
  System.out.println("---------------------------------------------");
  Class classAnimal = Animal.class;
  modifier = classAnimal.getModifiers();
  if(Modifier.isAbstract(modifier))
  {
   System.out.println("Class Animal is declared as:  abstract");
  }
  if(!Modifier.isFinal(modifier))
  {
   System.out.println("Class Animal is not declared as:  final");
  }
  if(!Modifier.isStatic(modifier))
  {
   System.out.println("Class Animal is not declared as:  static");
  }
  System.out.println("---------------------------------------------");
 }
}
Output of the program :
 

 



























