# Interface VariableTree

All Superinterfaces:
  `StatementTree, Tree`

public interface VariableTree extends StatementTree
A tree node for a variable declaration. For example:

      modifiers type name initializer ;
      modifiers type qualified-name.this

See Java Language Specification:
  8.3 Field Declarations
  14.4 Local Variable Declarations
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
  `ExpressionTree`
  `getInitializer()`
  Returns the initializer for the variable, or `null` if none.
  `ModifiersTree`
  `getModifiers()`
  Returns the modifiers, including any annotations, on the declaration.
  `Name`
  `getName()`
  Returns the name of the variable being declared or empty name if both the variable is unnamed and the preview features are enabled (Unnamed Patterns and Variables).
  `ExpressionTree`
  `getNameExpression()`
  Returns the qualified identifier for the name being "declared".
  `Tree`
  `getType()`
  Returns the type of the variable 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, on the declaration.
    Returns:
      the modifiers

  - ### getName

    Name getName()
    Returns the name of the variable being declared or empty name if both the variable is unnamed and the preview features are enabled (Unnamed Patterns and Variables).
    Returns:
      the name

  - ### getNameExpression

    ExpressionTree getNameExpression()
    Returns the qualified identifier for the name being "declared". This is only used in certain cases for the receiver of a method declaration. Returns `null` in all other cases.
    Returns:
      the qualified identifier of a receiver declaration

  - ### getType

    Tree getType()
    Returns the type of the variable being declared.
    Returns:
      the type

  - ### getInitializer

    ExpressionTree getInitializer()
    Returns the initializer for the variable, or `null` if none.
    Returns:
      the initializer