すいません、途中で書き込んでしまいました。

スーパークラスでprotected変数の値を与え、
スーパークラスのコンストラクタでサブクラスをnewして、
スーパークラスでサブクラスのメソッドを呼び出し、
サブクラスでスーパークラスのprotected変数を見ると、
与えた値になっていないのですが、どうすればいいでしょうか。

これまではstaticを付けて回避していたのですが、
newする方法も試したいと思っていました。