これでメソッドfはOKでメソッドgがNGなのはなんで?
public class N{ class A{ private int a; } class B extends A{ void f(A ar){ System.out.println(ar.a);//OK } void g(){ System.out.println(a);//コンパイルエラー } } }
ちなみにNetBeans5.5のリファクタリングでアクセッサ作るとメソッドfもアクセッサを使うようになって、NetBeans6では両方アクセッサ使わないのでメソッドgでコンパイルエラーになります。