2017-12-14 10 views
1

の値が返されました。は、私はこのような抽象クラスとその中の抽象化機能を持っているのjava

public class test extends VolleyItem { 

public int b = 0; 
public String str = null; 


@Override 
public String setUrl() { 
    return "my special text"; 
} 

@Override 
public ResponseType setResponseType() { 
    return ResponseType.Object; 
} 

}

私は何をすべき:私は@Overrideメソッドを実装する場合、それらのデフォルト値は次のようになりたいですか? おかげ

+2

あなたは何を達成しようとしていますか? –

+0

私はライブラリを作りたいと思っています。だれかが私のクラスから拡張すると、デフォルトで私は彼のためにいくつかのデフォルト値を設定します。 –

+2

私はあなたの質問を理解したら...答えはいいえ..あなたはそれをすることはできません。 –

答えて

1

次の2つの方法

public abstract class VolleyItem { 

public enum ResponseType {Object,Array,Boolean,String,Integer } 

public abstract String setUrl(); 
public abstract ResponseType setResponseType(); 

} 

と抽象クラスを作るために考えている場合、その後、あなたは、このクラスを拡張するクラスのような作りたい:

public class test extends VolleyItem { 

public int b = 0; 
public String str = null; 


@Override 
public String setUrl() { 
return "my special text"; 
} 

@Override 
public ResponseType setResponseType() { 
return ResponseType.Object; 
} 
} 

そして、それは結構です

しかし、誰かがあなたのVolleyItemクラスを拡張していれば、あなたはデフォルト値を設定したいと言っていますそれは抽象クラスであり、私たちはそれを拡張したいときは毎回そのメソッドを実装しなければならないからです。それでも必要なら、抽象的なキーワードを持たない単純なクラスを使い、それを拡張します。

関連する問題