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

时间:2017-12-14 06:28:54

标签: 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;
}

}

我该怎么办? 感谢

1 个答案:

答案 0 :(得分:1)

如果您打算使用两种方法制作抽象类

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类你想要设置一个默认值那么它是不可能的,因为它是一个抽象类,我们每次想要扩展时都必须实现它的方法它。如果你仍然想要它,那么使用一个没有abstract关键字的简单类,然后扩展它。