Package com.sun.mirror.declaration

## Interface ClassDeclaration

All Superinterfaces:
  `Declaration`, `MemberDeclaration`, `TypeDeclaration`

All Known Subinterfaces:
  `EnumDeclaration`

    public interface ClassDeclaration
    extends TypeDeclaration

Represents the declaration of a class. For the declaration of an interface, see `InterfaceDeclaration`. Provides access to information about the class, its members, and its constructors. Note that an enum is a kind of class.

While a `ClassDeclaration` represents the declaration of a class, a `ClassType` represents a class type. See `TypeDeclaration` for more on this distinction.

`DeclarationFilter` provides a simple way to select just the items of interest when a method returns a collection of declarations.

Since:
  1.5
See Also:
  `ClassType`

### Method Summary

All Methods Instance Methods Abstract Methods
`Collection<ConstructorDeclaration>` `getConstructors()` Returns the constructors of this class.
`Collection<MethodDeclaration>` `getMethods()` Returns the methods that are directly declared by this class or interface.
`ClassType` `getSuperclass()` Returns the class type directly extended by this class.

### Methods inherited from interface com.sun.mirror.declaration.Declaration

`accept, equals, getAnnotation, getAnnotationMirrors, getDocComment, getModifiers, getPosition, getSimpleName`

### Methods inherited from interface com.sun.mirror.declaration.MemberDeclaration

`getDeclaringType`

### Methods inherited from interface com.sun.mirror.declaration.TypeDeclaration

`getFields, getFormalTypeParameters, getNestedTypes, getPackage, getQualifiedName, getSuperinterfaces`

### Method Detail

#### getSuperclass

    ClassType getSuperclass()

Returns the class type directly extended by this class. The only class with no superclass is `java.lang.Object`, for which this method returns null.

Returns:
  the class type directly extended by this class, or null if there is none

#### getConstructors

    Collection<ConstructorDeclaration> getConstructors()

Returns the constructors of this class. This includes the default constructor if this class has no constructors explicitly declared.

Returns:
  the constructors of this class
See Also:
  `DeclarationFilter`

#### getMethods

    Collection<MethodDeclaration> getMethods()

Returns the methods that are directly declared by this class or interface. Includes annotation type elements. Excludes implicitly declared methods of an interface, such as `toString`, that correspond to the methods of `java.lang.Object`.

Specified by:
  `getMethods` in interface `TypeDeclaration`
Returns:
  the methods that are directly declared, or an empty collection if there are none
See Also:
  `DeclarationFilter`