「クラスは<?オブジェクトを拡張します>」 "" ClassOfRain "に? はいの場合は、どうやったらいいですか?あなたの読書のためのJavaメソッドのオーバーライド私はメソッドをオーバーライドしようとすると、私は、私のコードは、次のされているJavaとの問題を抱えて
ありがとう!ことはできません
「クラスは<?オブジェクトを拡張します>」 "" ClassOfRain "に? はいの場合は、どうやったらいいですか?あなたの読書のためのJavaメソッドのオーバーライド私はメソッドをオーバーライドしようとすると、私は、私のコードは、次のされているJavaとの問題を抱えて
ありがとう!ことはできません
私はあなたが少し混乱していると思います。あなたが言おうとしていないよろしいです:
public abstract class CustomAdapter<T extends Object> {
public abstract Boolean addItem(T aObject);
}
public class RainAdapter extends CustomAdapter<Rain> {
@Override
public Boolean addItem(Rain aRainInfo) {
// do something
return true;
}
}
をあなたのクラス構造体の私の解釈では、あなたは、一般的なaddItem
方法をしようとするので、実際のクラスオブジェクトの周りに渡すと、役に立たないされています。抽象/インターフェイスメソッドを実装および/または上書きするとき
あなたの答えに感謝! –
。メソッドオーバーライドとは、まったく同じメソッドヘッダーを配置することを意味します。変更できるのは、指定されたパラメータの名前だけです。
Class<Rain.class>
はRain
クラスの反射を開催します。あなたがClass<? extends Object>
を使用する必要がありますので、オーバーライドされたメソッドは、同じ仮パラメータを持っている必要がありますので、しかし、これは、動作しません。
メソッドのシグネチャが一致している必要があります...あなたは、<
public abstract class CustomAdapter{
public abstract Boolean addItem(Object o);
}
public class RainAdapter extends CustomAdapter {
public Boolean addItem(Object o){
if (o.getClassName().equals("ClassOfRain")){
return this.addItem((ClassOfRain) o);
}
return false;
}
private Boolean addItem(ClassOfRain aRainInfo) {
// do something
return true;
}
}
クラスカントーこのような何かを行うことができますか?オブジェクトを拡張する>すべてのJavaクラスがオブジェクトを拡張するので、実際に意味をなさない... – MarioDS