JAVA言語 入門 アクセス修飾子(public, protected, private)

TOP > JAVA入門 >  アクセス修飾子(public, protected, private)
このエントリーをはてなブックマークに追加

アクセス修飾子(public, protected, private)

public、protected、private は アクセス修飾子 と呼ばれます。 public は「外部からの参照を許す」、private は「自身のクラスからのみアクセス可能」のように変数・メソッドにアクセス制限を付与します。
 自ファイル他ファイル
アクセス修飾子自クラスサブクラス他クラスサブクラス他クラス
public
private××××
protected×
なし××

自ファイル・自クラスからのアクセス

public class Test1 {

    // public, protected, 無し, privateな値の定義
    public int public_v;
    protected int protected_v;
    private int private_v;
	int v;

    public static void main(String[] args) {
    }

    public Test1() {
        this.public_v = 1;
        this.protecte_v = 2;
        this.private_v = 3;
        this.v = 4;
    }
}

自ファイル・サブクラスからのアクセス

class Test2 extends Test1 {
    void Test2() {
        this.public_v = 1;
        this.protecte_v = 2;
        // this.private_v = 3; ← アクセス不可
        this.v = 4;
    }
}

自ファイル・他クラスからのアクセス

class Test3 {
    void Test3() {
        Test1 o = new Test1();
        o.public_v = 1;
        o.protecte_v = 2;
        // o.private_v = 3; ← アクセス不可
        o.v = 4;
    }
}

他ファイル・サブクラスからのアクセス

public class Test4 extends Test1 {

    public static void main(String[] args) {
    }

    Test4() {
        this.public_v = 1;
        this.protecte_v = 2;
        // this.private_v =3; ← アクセス不可
        // this.v = 4;   ← アクセスできない
    }
}

他ファイル・サブクラスからのアクセス

class Test5 {
    Test1() {
        AccessTest1 o = new Test1();
        o.public_v = 1;
        // o.protected_v = 2; ← アクセス不可
        // o.private_v = 3; ← アクセス不可
        // o.v = 4; ← アクセス不可
    }
}