私は、Javaのジェネリックに新しいです。Javaの総称関数で、具体的な属性へのアクセス
public class C<T extends MyClass> implements MyInterface<T>{
public void f(T obj){
...
obj.getName()
}
}
機能f
上記目的MySubClass1
とMySubClass2
の二つのタイプのために呼び出されます。私は、次のように一つの機能を書かれています。 MySubClass1
とMySubClass2
は抽象クラスMyClass
から継承された2つのconcreterクラスであり、name
はMySubClass2
の属性です。
MySubClass2
のオブジェクトと呼ばれ
、私は上記のような名前にアクセスしたいと思います。私はそれを行う方法を理解することはできません。
あなたはあなたのコードの構文エラー(不足しているセミコロン)を持っています。 'obj'を' MySubClass2'にキャストできますが、これは悪いデザインです。 [責任の連鎖](https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern)が役に立ちます。これは[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のように見えます。あなたが実際に達成しようとしていることを詳述するために気をつけますか? – Turing85
[最小、完全、および検証可能な例](https://stackoverflow.com/help/mcve) –
@AominèここにMCVEが必要なのはなぜですか? – lexicore