Modifier (Java SE 15 & JDK 15)
Description: declaration: module: java.base, package: java.lang.reflect, class: Modifier
Keywords: java.lang.reflect.Modifier class

Module java.base
Package java.lang.reflect

# Class Modifier

java.lang.Object
java.lang.reflect.Modifier

    public class Modifier
    extends Object

The Modifier class provides `static` methods and constants to decode class and member access modifiers. The sets of modifiers are represented as integers with distinct bit positions representing different modifiers. The values for the constants representing the modifiers are taken from the tables in sections 4.1, 4.4, 4.5, and 4.7 of The Java Virtual Machine Specification.

Since:
  1.1
See Also:
  `Class.getModifiers()`, `Member.getModifiers()`

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static int` | `ABSTRACT` | The `int` value representing the `abstract` modifier.
  `static int` | `FINAL` | The `int` value representing the `final` modifier.
  `static int` | `INTERFACE` | The `int` value representing the `interface` modifier.
  `static int` | `NATIVE` | The `int` value representing the `native` modifier.
  `static int` | `PRIVATE` | The `int` value representing the `private` modifier.
  `static int` | `PROTECTED` | The `int` value representing the `protected` modifier.
  `static int` | `PUBLIC` | The `int` value representing the `public` modifier.
  `static int` | `STATIC` | The `int` value representing the `static` modifier.
  `static int` | `STRICT` | The `int` value representing the `strictfp` modifier.
  `static int` | `SYNCHRONIZED` | The `int` value representing the `synchronized` modifier.
  `static int` | `TRANSIENT` | The `int` value representing the `transient` modifier.
  `static int` | `VOLATILE` | The `int` value representing the `volatile` modifier.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `static int` | `classModifiers()` | Return an `int` value OR-ing together the source language modifiers that can be applied to a class.
  `static int` | `constructorModifiers()` | Return an `int` value OR-ing together the source language modifiers that can be applied to a constructor.
  `static int` | `fieldModifiers()` | Return an `int` value OR-ing together the source language modifiers that can be applied to a field.
  `static int` | `interfaceModifiers()` | Return an `int` value OR-ing together the source language modifiers that can be applied to an interface.
  `static boolean` | `isAbstract​(int mod)` | Return `true` if the integer argument includes the `abstract` modifier, `false` otherwise.
  `static boolean` | `isFinal​(int mod)` | Return `true` if the integer argument includes the `final` modifier, `false` otherwise.
  `static boolean` | `isInterface​(int mod)` | Return `true` if the integer argument includes the `interface` modifier, `false` otherwise.
  `static boolean` | `isNative​(int mod)` | Return `true` if the integer argument includes the `native` modifier, `false` otherwise.
  `static boolean` | `isPrivate​(int mod)` | Return `true` if the integer argument includes the `private` modifier, `false` otherwise.
  `static boolean` | `isProtected​(int mod)` | Return `true` if the integer argument includes the `protected` modifier, `false` otherwise.
  `static boolean` | `isPublic​(int mod)` | Return `true` if the integer argument includes the `public` modifier, `false` otherwise.
  `static boolean` | `isStatic​(int mod)` | Return `true` if the integer argument includes the `static` modifier, `false` otherwise.
  `static boolean` | `isStrict​(int mod)` | Return `true` if the integer argument includes the `strictfp` modifier, `false` otherwise.
  `static boolean` | `isSynchronized​(int mod)` | Return `true` if the integer argument includes the `synchronized` modifier, `false` otherwise.
  `static boolean` | `isTransient​(int mod)` | Return `true` if the integer argument includes the `transient` modifier, `false` otherwise.
  `static boolean` | `isVolatile​(int mod)` | Return `true` if the integer argument includes the `volatile` modifier, `false` otherwise.
  `static int` | `methodModifiers()` | Return an `int` value OR-ing together the source language modifiers that can be applied to a method.
  `static int` | `parameterModifiers()` | Return an `int` value OR-ing together the source language modifiers that can be applied to a parameter.
  `static String` | `toString​(int mod)` | Return a string describing the access modifier flags in the specified modifier.

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### PUBLIC

    public static final int PUBLIC
    The `int` value representing the `public` modifier.
    See Also:
      Constant Field Values

  - ### PRIVATE

    public static final int PRIVATE
    The `int` value representing the `private` modifier.
    See Also:
      Constant Field Values

  - ### PROTECTED

    public static final int PROTECTED
    The `int` value representing the `protected` modifier.
    See Also:
      Constant Field Values

  - ### STATIC

    public static final int STATIC
    The `int` value representing the `static` modifier.
    See Also:
      Constant Field Values

  - ### FINAL

    public static final int FINAL
    The `int` value representing the `final` modifier.
    See Also:
      Constant Field Values

  - ### SYNCHRONIZED

    public static final int SYNCHRONIZED
    The `int` value representing the `synchronized` modifier.
    See Also:
      Constant Field Values

  - ### VOLATILE

    public static final int VOLATILE
    The `int` value representing the `volatile` modifier.
    See Also:
      Constant Field Values

  - ### TRANSIENT

    public static final int TRANSIENT
    The `int` value representing the `transient` modifier.
    See Also:
      Constant Field Values

  - ### NATIVE

    public static final int NATIVE
    The `int` value representing the `native` modifier.
    See Also:
      Constant Field Values

  - ### INTERFACE

    public static final int INTERFACE
    The `int` value representing the `interface` modifier.
    See Also:
      Constant Field Values

  - ### ABSTRACT

    public static final int ABSTRACT
    The `int` value representing the `abstract` modifier.
    See Also:
      Constant Field Values

  - ### STRICT

    public static final int STRICT
    The `int` value representing the `strictfp` modifier.
    See Also:
      Constant Field Values

- ## Method Details

  - ### isPublic

    public static boolean isPublic​(int mod)
    Return `true` if the integer argument includes the `public` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `public` modifier; `false` otherwise.

  - ### isPrivate

    public static boolean isPrivate​(int mod)
    Return `true` if the integer argument includes the `private` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `private` modifier; `false` otherwise.

  - ### isProtected

    public static boolean isProtected​(int mod)
    Return `true` if the integer argument includes the `protected` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `protected` modifier; `false` otherwise.

  - ### isStatic

    public static boolean isStatic​(int mod)
    Return `true` if the integer argument includes the `static` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `static` modifier; `false` otherwise.

  - ### isFinal

    public static boolean isFinal​(int mod)
    Return `true` if the integer argument includes the `final` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `final` modifier; `false` otherwise.

  - ### isSynchronized

    public static boolean isSynchronized​(int mod)
    Return `true` if the integer argument includes the `synchronized` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `synchronized` modifier; `false` otherwise.

  - ### isVolatile

    public static boolean isVolatile​(int mod)
    Return `true` if the integer argument includes the `volatile` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `volatile` modifier; `false` otherwise.

  - ### isTransient

    public static boolean isTransient​(int mod)
    Return `true` if the integer argument includes the `transient` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `transient` modifier; `false` otherwise.

  - ### isNative

    public static boolean isNative​(int mod)
    Return `true` if the integer argument includes the `native` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `native` modifier; `false` otherwise.

  - ### isInterface

    public static boolean isInterface​(int mod)
    Return `true` if the integer argument includes the `interface` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `interface` modifier; `false` otherwise.

  - ### isAbstract

    public static boolean isAbstract​(int mod)
    Return `true` if the integer argument includes the `abstract` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `abstract` modifier; `false` otherwise.

  - ### isStrict

    public static boolean isStrict​(int mod)
    Return `true` if the integer argument includes the `strictfp` modifier, `false` otherwise.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      `true` if `mod` includes the `strictfp` modifier; `false` otherwise.

  - ### toString

    public static String toString​(int mod)
    Return a string describing the access modifier flags in the specified modifier. For example:

    >         public final synchronized strictfp

    The modifier names are returned in an order consistent with the suggested modifier orderings given in sections 8.1.1, 8.3.1, 8.4.3, 8.8.3, and 9.1.1 of The Java Language Specification. The full modifier ordering used by this method is:

    > `public protected private abstract static final transient volatile synchronized native strictfp interface`

    The `interface` modifier discussed in this class is not a true modifier in the Java language and it appears after all other modifiers listed by this method. This method may return a string of modifiers that are not valid modifiers of a Java entity; in other words, no checking is done on the possible validity of the combination of modifiers represented by the input. Note that to perform such checking for a known kind of entity, such as a constructor or method, first AND the argument of `toString` with the appropriate mask from a method like `constructorModifiers()` or `methodModifiers()`.
    Parameters:
      `mod` - a set of modifiers
    Returns:
      a string representation of the set of modifiers represented by `mod`

  - ### classModifiers

    public static int classModifiers()
    Return an `int` value OR-ing together the source language modifiers that can be applied to a class.
    Returns:
      an `int` value OR-ing together the source language modifiers that can be applied to a class.
    See Java Language Specification:
      8.1.1 Class Modifiers
    Since:
      1.7

  - ### interfaceModifiers

    public static int interfaceModifiers()
    Return an `int` value OR-ing together the source language modifiers that can be applied to an interface.
    Returns:
      an `int` value OR-ing together the source language modifiers that can be applied to an interface.
    See Java Language Specification:
      9.1.1 Interface Modifiers
    Since:
      1.7

  - ### constructorModifiers

    public static int constructorModifiers()
    Return an `int` value OR-ing together the source language modifiers that can be applied to a constructor.
    Returns:
      an `int` value OR-ing together the source language modifiers that can be applied to a constructor.
    See Java Language Specification:
      8.8.3 Constructor Modifiers
    Since:
      1.7

  - ### methodModifiers

    public static int methodModifiers()
    Return an `int` value OR-ing together the source language modifiers that can be applied to a method.
    Returns:
      an `int` value OR-ing together the source language modifiers that can be applied to a method.
    See Java Language Specification:
      8.4.3 Method Modifiers
    Since:
      1.7

  - ### fieldModifiers

    public static int fieldModifiers()
    Return an `int` value OR-ing together the source language modifiers that can be applied to a field.
    Returns:
      an `int` value OR-ing together the source language modifiers that can be applied to a field.
    See Java Language Specification:
      8.3.1 Field Modifiers
    Since:
      1.7

  - ### parameterModifiers

    public static int parameterModifiers()
    Return an `int` value OR-ing together the source language modifiers that can be applied to a parameter.
    Returns:
      an `int` value OR-ing together the source language modifiers that can be applied to a parameter.
    See Java Language Specification:
      8.4.1 Formal Parameters
    Since:
      1.8