疑問 アクセス修飾子2


なるほど、これならOK。

//別パッケージ・サブクラス
class AccessTest22 extends AccessTest {
	public AccessTest22() {
		this.publicNum = 5;
		this.protectedNum = 5;
		//this.normalNum = 5; アクセス不可
		//this.privateNum = 5; アクセス不可
		
		AccessTest22 at22 = new AccessTest22(); // 自身のインスタンス生成
		at22.publicNum = 6;
		at22.protectedNum = 6;
		//at22.normalNum = 6; アクセス不可
		//at22.privateNum = 6; アクセス不可
	}
}


これは同じパッケージだからOKなのか・・・

// 同一パッケージ・サブクラス
class SubAccessTest extends AccessTest{ 
	public SubAccessTest() {
		this.publicNum = 1;
		this.normalNum = 1;
		this.protectedNum = 1;
		// this.privateNum = 1; アクセス不可
		
		AccessTest at = new AccessTest();
		at.publicNum = 1;
		at.normalNum = 1;
		at.protectedNum = 1;
		//at.privateNum = 1; アクセス不可
	}
}


これも・・・

// 同一パッケージ・他クラス
class OtherAccessTest{
	public OtherAccessTest() {
		AccessTest test = new AccessTest();
		test.publicNum = 2;
		test.normalNum = 2;
		test.protectedNum = 2;
		// test.privateNum = 2; アクセス不可
	}
}