Genericsを試しているのですが、2箇所でコンパイルエラーが発生しています。(※の箇所)

final class Foo { // 改造禁止のクラス
 public Foo() {}
 public void setId() {...}
};

class Bar<Child> { // 試しに作ったクラス
 public Child child;

 public Bar() {}

 public void createChild() {
  child = new Child(); // ※1 Childはインスタンス化できない
 }

 public void setChildId(int id) {
  child.setId(id); // ※2 setId()はChildで未定義
 }
}

void test() { // ためしに作ったクラスを使う例
 Bar<Foo> bar = new Bar<Foo>();
 bar.createChild();
 bar.setChildId(1);
}

こういう場合、どうやって回避するのが良いでしょうか?