他の機能
列挙型
概要
書式
解説
定数の集合を扱う列挙型です。
書式
[可視性] enum 列挙型名 {[要素][,要素]…[;]}
型定義の書式です。
列挙型名 変数名 [ = 列挙型名.要素];
変数宣言の書式です。
変数名 = 列挙型名.要素;
代入の書式です。
型定義の書式です。
列挙型名 変数名 [ = 列挙型名.要素];
変数宣言の書式です。
変数名 = 列挙型名.要素;
代入の書式です。
解説
マジックナンバーに比べてタイプセーフです。
static final int より安全です。
詳細
書式
メソッドの抜粋です。
クラスメソッド
[可視性] enum{
要素[([引数[,引数]…])]…;
フィールド定義
メソッド定義
[列挙型名] {[要素][,要素]…[;]}
}
クラスと同様にフィールドやメソッドを定義することもできます。
要素[([引数[,引数]…])]…;
フィールド定義
メソッド定義
[列挙型名] {[要素][,要素]…[;]}
}
クラスと同様にフィールドやメソッドを定義することもできます。
メソッドの抜粋です。
メソッド名 | 引数 | 戻り値の型 | 戻り値の説明 | 例外 | メソッドの説明 |
ordinal | なし | int | 序数 | なし | 序数を取得します。 |
メソッド名 | 引数 | 戻り値の型 | 戻り値の説明 | 例外 | メソッドの説明 |
values | なし | 指定した型[] | 要素配列 | なし | 要素を配列で取得します。 |
アノテーション
Javaではアノテーションと呼ばれる注釈を付けることができます。
@Override オーバーライドすることを明示する。オーバーライドのつもりが、メソッド名ミスや引数の型や並びミスによりオーバーロードになるのを防ぐ。
@Deprecated 推奨されないことを明示する。コンパイル時に警告が出て知らせてくれる。
アノテーション | 付与対象 | 説明 |
@Override | メソッド | スーパークラスのメソッドをオーバーライドしていないとコンパイルエラーとなります。 |
@Deprecated | クラス、メソッド | 推奨されないことを明示します。コンパイル時に警告が出ます。 |
アサーション
概要
書式
解説
テストモードで実行する際に、成り立つ条件を指定するものです。
書式
assert 条件式 [: 表示文字列];
項目 | 説明 |
条件式 | 成り立つべき条件式です。 |
表示文字列 | 表示する文字列です。 |
解説
条件式がtrueになるようにアサーションを設定します。
falseの場合は、java.lang.AssertionErrorがスローされます。
実行
java -ea クラス名
で実行する必要があります。
falseの場合は、java.lang.AssertionErrorがスローされます。
実行
java -ea クラス名
で実行する必要があります。
ガーベージコレクション
Javaではどこからも参照されていないオブジェクトは自動的に開放されます。
メモリの開放はバーチャルマシンが行うため、 プログラマーは基本的に意識せずに済みます。
実行のタイミングはバーチャルマシン次第ですが、プログラマー側である程度促すことができます。
try-with-resources
java7以降
try(生成処理){
~
}
[catch()~
]…
java.lang.AutoCloseableを実装している必要あり
tryを抜けると自動的にcloseされる
try(生成処理){
~
}
[catch()~
]…
java.lang.AutoCloseableを実装している必要あり
tryを抜けると自動的にcloseされる