私はjavaを初めて使っているので、これは愚かな質問かもしれません。私のスーパークラスには、汎用オブジェクトを取り込んでオブジェクトを返すメソッドがあります。私のサブクラスでは、他の場所で定義した抽象クラスを返すメソッドをオーバーライド/狭めようとしています。基本的には、このオーバーライドで実行する必要があるのは、同じメソッドをプリコンパイルすることですが、オブジェクトをより狭いクラスに置き換えます。これをどうやって行うのですか?それは1行または2つのコードでなければなりませんが、私はそれの構文を知らないだけです。Java。メソッド戻り値の型をオーバーライドして絞り込む
だから、スーパークラスFooの中のような方法がある。そして、
public abstract class Foo {
public Object doSomething() {
Object objVar;
//does stuff to objVar
return objVar;
}
}
差分javaファイル内のオブジェクトのコンストラクタ:
public abstract class Zee {
//constructors & methods for zee
}
はサブクラスでその後:
public class Subbie extends Foo {
@Override
public Zee doSomething() { //covariant return type?? maybe?
return //needs to preform the same actions
//as the super doSomething method, but with
//the narrower return type.
}
}
コードを表示するか、誰も助けることができません。投稿を編集し、あなたの質問を示す[mcve]を含めてください。 –