07/03/13 09:35:33
>>603
> これが問題になるのって、フィールドがnon privateのときだけだよね。
違う。例えば
class A{ public int field = 0; }
class B extends A{ private int field = 1; }
class C { public static void main(String[] args){
System.out.println( new B().field );
} }
とかだと A の field にアクセスできんでしょ?
つまり、private なフィールドでも public なプロパティを覆い隠せる。
ってか、言語仕様読んでも、なんで A の field にアクセスできないのか
俺には良くわからんのだが…… 覆い隠しって単純名だけに作用するんじゃないんかな?
> これ、展開させたらだめだよ。インスタンス変数に全くアクセスできなくなる。
そうだよ。だから無理だって言ってるじゃん。
> 展開させるのは foo.bar 形式だけ。ただし this.bar はのぞく。
そんな無茶な。現行の言語仕様では foo.bar と this.bar は区別してないし。