ExecutableElement (Java SE 13 & JDK 13 )
Description: declaration: module: java.compiler, package: javax.lang.model.element, interface: ExecutableElement
Keywords: javax.lang.model.element.ExecutableElement interface

Module java.compiler
Package javax.lang.model.element

# Interface ExecutableElement

All Superinterfaces:
  `AnnotatedConstruct`, `Element`, `Parameterizable`

    public interface ExecutableElement
    extends Element, Parameterizable

Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation type elements.

Since:
  1.6
See Also:
  `ExecutableType`

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `TypeMirror` | `asType()` | Returns the executable type defined by this executable element.
  `AnnotationValue` | `getDefaultValue()` | Returns the default value if this executable is an annotation type element.
  `List<? extends VariableElement>` | `getParameters()` | Returns the formal parameters of this executable.
  `TypeMirror` | `getReceiverType()` | Returns the receiver type of this executable, or `NoType` with kind `NONE` if the executable has no receiver type.
  `TypeMirror` | `getReturnType()` | Returns the return type of this executable.
  `Name` | `getSimpleName()` | Returns the simple name of a constructor, method, or initializer.
  `List<? extends TypeMirror>` | `getThrownTypes()` | Returns the exceptions and other throwables listed in this method or constructor's `throws` clause in declaration order.
  `List<? extends TypeParameterElement>` | `getTypeParameters()` | Returns the formal type parameters of this executable in declaration order.
  `boolean` | `isDefault()` | Returns `true` if this method is a default method and returns `false` otherwise.
  `boolean` | `isVarArgs()` | Returns `true` if this method or constructor accepts a variable number of arguments and returns `false` otherwise.

  ### Methods declared in interface javax.lang.model.AnnotatedConstruct

  `getAnnotationsByType`

  ### Methods declared in interface javax.lang.model.element.Element

  `accept, equals, getAnnotation, getAnnotationMirrors, getEnclosedElements, getEnclosingElement, getKind, getModifiers, hashCode`

- ## Method Details

  - ### asType

    TypeMirror asType()
    Returns the executable type defined by this executable element.
    Specified by:
      `asType` in interface `Element`
    Returns:
      the executable type defined by this executable element
    See Also:
      `ExecutableType`

  - ### getTypeParameters

    List<? extends TypeParameterElement> getTypeParameters()
    Returns the formal type parameters of this executable in declaration order.
    Specified by:
      `getTypeParameters` in interface `Parameterizable`
    Returns:
      the formal type parameters, or an empty list if there are none

  - ### getReturnType

    TypeMirror getReturnType()
    Returns the return type of this executable. Returns a `NoType` with kind `VOID` if this executable is not a method, or is a method that does not return a value.
    Returns:
      the return type of this executable

  - ### getParameters

    List<? extends VariableElement> getParameters()
    Returns the formal parameters of this executable. They are returned in declaration order.
    Returns:
      the formal parameters, or an empty list if there are none

  - ### getReceiverType

    TypeMirror getReceiverType()
    Returns the receiver type of this executable, or `NoType` with kind `NONE` if the executable has no receiver type. An executable which is an instance method, or a constructor of an inner class, has a receiver type derived from the declaring type. An executable which is a static method, or a constructor of a non-inner class, or an initializer (static or instance), has no receiver type.
    Returns:
      the receiver type of this executable
    See Java Language Specification:
      8.4 Method Declarations
      8.4.1 Formal Parameters
      8.8 Constructor Declarations
    Since:
      1.8

  - ### isVarArgs

    boolean isVarArgs()
    Returns `true` if this method or constructor accepts a variable number of arguments and returns `false` otherwise.
    Returns:
      `true` if this method or constructor accepts a variable number of arguments and `false` otherwise

  - ### isDefault

    boolean isDefault()
    Returns `true` if this method is a default method and returns `false` otherwise.
    Returns:
      `true` if this method is a default method and `false` otherwise
    Since:
      1.8

  - ### getThrownTypes

    List<? extends TypeMirror> getThrownTypes()
    Returns the exceptions and other throwables listed in this method or constructor's `throws` clause in declaration order.
    Returns:
      the exceptions and other throwables listed in the `throws` clause, or an empty list if there are none

  - ### getDefaultValue

    AnnotationValue getDefaultValue()
    Returns the default value if this executable is an annotation type element. Returns `null` if this method is not an annotation type element, or if it is an annotation type element with no default value.
    Returns:
      the default value, or `null` if none

  - ### getSimpleName

    Name getSimpleName()
    Returns the simple name of a constructor, method, or initializer. For a constructor, the name `"<init>"` is returned, for a static initializer, the name `"<clinit>"` is returned, and for an anonymous class or instance initializer, an empty name is returned.
    Specified by:
      `getSimpleName` in interface `Element`
    Returns:
      the simple name of a constructor, method, or initializer
    See Also:
      `PackageElement.getSimpleName()`, `getSimpleName()`, `TypeElement.getSimpleName()`, `VariableElement.getSimpleName()`, `ModuleElement.getSimpleName()`