MethodTree (Java SE 26 & JDK 26)
Description: declaration: module: jdk.compiler, package: com.sun.source.tree, interface: MethodTree
Keywords: com.sun.source.tree.MethodTree interface

# Interface MethodTree

All Superinterfaces:
  `Tree`

public interface MethodTree extends Tree
A tree node for a method or annotation type element declaration. For example:

      modifiers typeParameters type name
         ( parameters )
         body

      modifiers type name () default defaultValue

See Java Language Specification:
  8.4 Method Declarations
  8.6 Instance Initializers
  8.7 Static Initializers
  9.4 Method Declarations
  9.6.1 Annotation Interface Elements
Since:
  1.6

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface Tree

  `Tree.Kind`
  Modifier and Type
  Interface
  Description
  `static enum`
  `Tree.Kind`
  Enumerates all kinds of trees.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BlockTree`
  `getBody()`
  Returns the method body, or `null` if this is an abstract or native method.
  `Tree`
  `getDefaultValue()`
  Returns the default value, if this is an element within an annotation type declaration.
  `ModifiersTree`
  `getModifiers()`
  Returns the modifiers, including any annotations for the method being declared.
  `Name`
  `getName()`
  Returns the name of the method being declared.
  `List<? extends VariableTree>`
  `getParameters()`
  Returns the parameters of the method being declared.
  `VariableTree`
  `getReceiverParameter()`
  Return an explicit receiver parameter ("this" parameter), or `null` if none.
  `Tree`
  `getReturnType()`
  Returns the return type of the method being declared.
  `List<? extends ExpressionTree>`
  `getThrows()`
  Returns the exceptions listed as being thrown by this method.
  `List<? extends TypeParameterTree>`
  `getTypeParameters()`
  Returns the type parameters of the method being declared.

  ### Methods declared in interface Tree

  `accept, getKind`
  Modifier and Type
  Method
  Description
  `<R,D> R`
  `accept(TreeVisitor<R,D> visitor, D data)`
  Accept method used to implement the visitor pattern.
  `Tree.Kind`
  `getKind()`
  Returns the kind of this tree.

- ## Method Details

  - ### getModifiers

    ModifiersTree getModifiers()
    Returns the modifiers, including any annotations for the method being declared.
    Returns:
      the modifiers

  - ### getName

    Name getName()
    Returns the name of the method being declared.
    Returns:
      the name

  - ### getReturnType

    Tree getReturnType()
    Returns the return type of the method being declared. Returns `null` for a constructor.
    Returns:
      the return type

  - ### getTypeParameters

    List<? extends TypeParameterTree> getTypeParameters()
    Returns the type parameters of the method being declared.
    Returns:
      the type parameters

  - ### getParameters

    List<? extends VariableTree> getParameters()
    Returns the parameters of the method being declared.
    Returns:
      the parameters

  - ### getReceiverParameter

    VariableTree getReceiverParameter()
    Return an explicit receiver parameter ("this" parameter), or `null` if none.
    Returns:
      an explicit receiver parameter ("this" parameter)
    Since:
      1.8

  - ### getThrows

    List<? extends ExpressionTree> getThrows()
    Returns the exceptions listed as being thrown by this method.
    Returns:
      the exceptions

  - ### getBody

    BlockTree getBody()
    Returns the method body, or `null` if this is an abstract or native method.
    Returns:
      the method body

  - ### getDefaultValue

    Tree getDefaultValue()
    Returns the default value, if this is an element within an annotation type declaration. Returns `null` otherwise.
    Returns:
      the default value