メソッドは、そのメソッドから発生する可能性がある例外のリストを宣言できます。次に例を示します。
public static int c(int i) throws MyException, MyOtherException {... };
Java 言語では、次のレベルのアクセス制御がサポートされています。
Java コードのリバースエンジニアリングでは、クラス、属性、および操作に関する Java アクセス制御のすべてのレベルが完全にサポートされます。
次の Java 修飾子は、クラス、メソッド、および変数の宣言においてさまざまな方法で使用できます。
| 修飾子 | 説明 |
|---|---|
| final | final キーワードは、クラス、メソッド、および変数に適用できる修飾子です。適用する対象によって意味が異なります。final クラスは、サブクラス化できません。final メソッドは、上書きできません。final 変数は、値を設定できません。 修飾子: 操作: true に設定した定数 属性: true に設定した定数 アクセス権限は「読み取り専用」 例: public final void writeDouble(double v) throws IOException {}; |
| native | native キーワードは、メソッド宣言に適用できる修飾子です。このキーワードは、メソッドが C、またはほかのプラットフォーム依存の形で実装されていることを示します。 修飾子: native はキャプチャではない 「native」を true に設定 例: private native void socketCreate(Boolean isServer); |
| synchronized | synchronized キーワードは、クラスメソッドまたはインスタンスメソッドの修飾子として使用できます。このキーワードは、メソッドがクラスまたはクラスのインスタンスの内部状態を同時に複数のプロセスで処理しないことを示します。 修飾子: synchronized を true に設定 private synchronized native String initializeLinkerInternal(); |
| transient | transient キーワードは、クラス内のインスタンス フィールドに適用できる修飾子です。このキーワードは、オブジェクトの永続状態の一部ではないためオブジェクトと共にシリアル化する必要がないフィールドを示します。 修飾子: transient を true に設定 例: transient private int pData; |
| volatile | volatile キーワードは、フィールドに適用できる修飾子です。このキーワードは、フィールドが同期化されたスレッドによって使用されることを指定し、コンパイラによる最適化の実行を抑制します。 修飾子: volatile を true に設定 例: volatile private int pData; |