S_a_k_Uの日記みたいなDB

~サクゥーと呼ばないで~

privateなのはクラス内であってインスタンス内ではない

変数もだけど、もちろんメソッドも同じだし
言語仕様からすると当然だけど、なんかイヤな感じがするのはなんでだろう???
private=クラス内、protected=パッケージ/継承内、public=公開というスコープ自体の意義を考えてみんといかんのか???

import java.io.Serializable;
public class PrivateTest implements Serializable {
    private static final long serialVersionUID = 7671423480229862598L;
    String text = null;
    private  String textPrivate = null;
    protected String textProtected = null;
    public String textPublic = null;
    public PrivateTest(String text) {
        this.text = "NoSpecified:" + text;
        this.textPrivate = "Private:" + text;
        this.textProtected = "Protected:" + text;
        this.textPublic = "Public:" + text;
    }
    public static void main(String[] arg) {
        PrivateTest test1 = new PrivateTest("TEST-1");
        PrivateTest test2 = new PrivateTest("TEST-2");
        test1.printText(test2);
        test2.printText(test1);
    }
    private void printText(PrivateTest test) {
        System.out.println(test.text);
        System.out.println(test.textPrivate);
        System.out.println(test.textProtected);
        System.out.println(test.textPublic);
    }
}

【実行結果】

NoSpecified:TEST-2
Private:TEST-2
Protected:TEST-2
Public:TEST-2
NoSpecified:TEST-1
Private:TEST-1
Protected:TEST-1
Public:TEST-1