4

デフォルトのアクセス制御を持つクラスメンバーはパッケージレベルでアクセスできることは知っていますが、パッケージレベルのアクセスが実際に何を意味するのか混乱しています。デフォルトのメンバーにパッケージレベルでアクセスできる場合、次の例のクラスTest2に表示されるべきではありませんか?クラス1-

package pkg1;
public class Test {
   int i=0;
}

クラス2-

import pkg1.Test;
public class Test2 {

void get(){
    Test t = new Test();
    t.i=0;
}
}

この概念を理解するのを手伝ってください。前もって感謝します。

4

2 に答える 2

8

パッケージレベルのアクセスとは、同じパッケージで定義されているクラスのみがパッケージレベルの変数にアクセスできることを意味します。をインポートする必要がある場合は、それが別のパッケージに含まれているため、にアクセスできないとTest想定しています。Testi

Test2アクセスするにはi、と同じパッケージで定義しますTest1

于 2013-03-11T20:31:28.213 に答える
0

あなたは書くのを忘れます

package pkg1; 

Test2クラスの場合。

今は動作するはずです

于 2013-03-11T20:38:56.210 に答える