android - 如何在java中为抽象函数返回值设置默认值

标签 android abstract-class

我有一个抽象类和一个抽象函数,如下所示:

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/

相关文章:

c++ - Eigen 矩阵和 vector 之上的抽象类

java - 消息、处理程序和线程 : Lego Mindstorms bluetooth communication

C++标准方式创建 "Abstract Class"(纯虚类)

Android beta APK 分发问题

android - SipManager.newInstance 不适用于 android Gingerbread

c++ - 创建抽象类的克隆

actionscript-3 - 您如何决定使用抽象类和接口(interface)?

c++ - 访问实现接口(interface)但不属于接口(interface)的类的函数

android - 适用于 Android 的计算机视觉和 AR 库?

android - 使用不同参数调用它时的状态小部件更新,而不是更新?