インスタンス初期化子とインスタンスフィールド初期化子はコンストラクタが呼び出された際に実行される。正確な実行順序としては、親クラスのコンストラクタが実行された後、かつ、自身のコンストラクタが実行される前、となる。メソッド.アクセス修飾子に加えて、メソッドには以下の修飾子を付けて宣言できる:可変引数.コンストラクタ.コンストラクタを宣言する際に使える修飾子はアクセス修飾子のみである。クラスのメソッドは継承されるので、全てのクラスにて使用できる。メソッドは現在のオブジェクトのコピーである新しいオブジェクトを返す。クラスは、それがクローンできることを明示するためにマーカーインタフェースを実装しなければならない。アノテーション.アノテーションはインタフェースを実装することで自作することもできる。Javaのアノテーションは三つに分けることができる。アノテーションを使用する.マーカーアノテーション.クラスやメソッドにマーカーアノテーションを付加するには以下のようクラスやメソッドの接頭辞に最低一つ以上のスペースまたは改行コードを入れて修飾子のように記述する。この例は、クラスに非推奨、メソッドに、スーパークラスからのメソッドをオーバーライドしていることを意味するマーカーアノテーションを付加している例である。単一値アノテーション.単一値アノテーションを付加するには以下のようにする。このアノテーションは正確に記述すると以下のようにString[]配列の初期化宣言のようになる。フルアノテーション.アノテーションを定義する.マーカーアノテーション.マーカーアノテーションは以下のように定義する。メソッドやフィールドが一切ないマーカーインタフェースのアノテーション版ともいえる。やがこれらのアノテーションに相当する。単一値アノテーション.フルアノテーション.フルアノテーションは以下のように定義する。以下のように二つ以上のメソッドを定義する。intid();メタアノテーション.