我有一个抽象类和一个抽象函数,如下所示:
public abstract class VolleyItem {
public enum ResponseType {Object,Array,Boolean,String,Integer }
public abstract String setUrl();
public abstract ResponseType setResponseType();
}
现在我想从上面的类扩展一个类。我希望在实现@Override 方法时,它们的默认值是这样的:
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;
}
我该怎么办? 谢谢
最佳答案
如果你想用两个方法创建一个抽象类
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
类你想设置一个默认值那么这是不可能的因为它是一个抽象类而且我们每次都必须实现它的方法想扩展它。如果你仍然想要它,那么使用一个没有抽象关键字的简单类,然后扩展它。
关于android - 如何在java中为抽象函数返回值设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47807142/