Java制御プログラム


制御者(modifier)


クラス、変数、メソッドの宣言に使用され、追加の意味を与えます.

静的-クラスの共通


静的に使用可能な場所-メンバー変数、メソッド、および初期化ブロック
静的メンバー変数
1.すべてのインスタンスで共通に使用されるクラス変数になります.
2.クラス変数はインスタンスを作成することなく使用できます.
3.クラスがメモリに読み込まれたときに生成されます.(Method Area)
スタティツクメソッド
1.インスタンスを作成せずに呼び出す静的メソッドになります.
2.静的メソッドではインスタンスメンバーを直接使用できません.

final-最後の、変更不可


finalで使用可能な場所-クラス、メソッド、メンバー変数、領域変数
finalクラス
1.変更できないクラスは、拡張できないクラスになります.
(最終的に指定されたクラスは、他のクラスの祖先ではありません.)
最終メソッド
1.サブクラスで上書きによって再定義することはできません.
finalメンバー変数、領域変数
1.変更できない定数になります.
class Card {
   final int NUMBER;
   final String KIND;
   static int width = 100;
   static int height = 250;
   
   Card(String kind, int num) {
      KIND = kind;
      NUMBER = num;
   }
---------------------------------

public static void main(String args[]) {
   Card c = new Card("HEART", 10);
 //c.NUMBER = 5; 에러!!!
   System.out.println(c.KIND);
   System.out.println(c.NUMBER);
}
以上のコードの要点
finalに付属する変数は定数であるため、通常は同時に宣言および初期化されますが、インスタンス変数では構造関数で初期化できます.

アクセス制御者


外部からの接近を制限する.
使用可能な場所:クラス、メンバー変数、メソッド、作成者
private-同じクラスでのみアクセスできます.
default-同じパッケージ内でのみアクセスできます.
protected-同じパッケージ内および他のパッケージのサブクラスからアクセスできます.
public-アクセス制限は全くありません.
クラスで使用可能なコントロール-public、default
メンバー変数とメソッド-public、protected、default、private
アクセス制御プログラムが使用されていない場合は、自動的に(default)制御プログラムが使用されます.