というか、フィールドのカプセル化がうまく働いてないっぽい

こういうコードを書いて

public class RefTest {
    class A{
        int h;
    }
    
    class B extends A{
        void m(){
            System.out.println(h);
        }
    }
}

フィールドをカプセル化で、変数をprivateにしつつ「フィールドがアクセス可能な時もアクセス用メソッドを使用」のチェックをはずすと、こうなります。

public class RefTest {
    class A{
        private int h;

        public int getH() {
            return h;
        }

        public void setH(int h) {
            this.h = h;
        }
    }
    
    class B extends A{
        void m(){
            System.out.println(h);
        }
    }
}


メソッドmではgetH()にならないといけないですね。