アットウィキロゴ

Javaに関する事

Java修飾子一覧

修飾子 クラス インタフェース メソッド コンストラクタ ブロック 変数 説明
public ○ ○ ○ ○ × ○ アクセス修飾子
protected ○ ○ ○ ○ × ○ アクセス修飾子
private ○ ○ ○ ○ × ○ アクセス修飾子
static ○ ○ ○ × × ○ スタティック修飾子
final ○ × ○ × × ○ ファイナル修飾子
abstract ○ ○ ○ × × × 抽象修飾子
native × × ○ × × × ネイティブ修飾子
synchronized × × ○ × ○ × 同期修飾子
transient × × × × × ○ 一時的修飾子
volatile × × × × × ○ 揮発性修飾子
strictfp ○ ○ ○ × × × 厳密浮動小数修飾子
const × × × × × × 定数

アクセス修飾子

アクセス
修飾子
自クラス
(自ファイル)
サブクラス
(自ファイル)
他クラス
(自ファイル)
サブクラス
(他ファイル)
他クラス
(他ファイル)
public ○ ○ ○ ○ ○
protected ○ ○ ○ ○ ×
なし ○ ○ ○ × ×
private ○ × × × ×

public は「すべてのクラスからの参照を許す」、protected は「他ファイル・他クラスからのアクセスをプロテクトする」、private は「自クラスからのアクセスしか許さない」という意味になります。

static修飾子

static は、クラスがインスタンス化されていなくても、そのクラス、メソッド、変数などを参照可能であることを示します。

class クラス名 {
public static void main(String[] args) {
:
}
public static final double PI = 3.14159265358979323846;
public static double sin(double a) {
:
}
public static class クラスB {
:
}
}

例えば、java.lang.Math クラスの sin() メソッドは static 宣言されているので、java.lang.Math.sin() として呼び出すことができますが、もし、static 宣言されていなければ、下記のように呼び出す必要があります。

// static 宣言されていれば
x = java.lang.Math.sin(y);                // 直接呼び出せる
// static 宣言されていなければ
java.lang.Math m = new java.lang.Math();  // インスタンス化が必要
x = m.sin(y);
最終更新:2009年10月05日 13:00