[英]Java static class that extends an abstract class
这可能是一个非常愚蠢的问题,但这是我有兴趣实施的模式。
这是我实现的抽象类的基本版本。
public abstract class MyCollection {
public abstract String baseUrl();
public void get(ResponseHandler handler) {
myApi.get(baseUrl(), handler);
}
}
这是我的基本静态集合对象
public class Users extends MyCollection {
@Override
String baseUrl() {
return "/users";
}
}
这就是我希望能够在我的一个控制器中做到的事情
Users.get(new ResponseHandler() {
@Override
public void onSuccess(Object obj) {
//store data
}
@Override
public void onError(Object obj) {
//tell user
}
});
我的问题是Java不允许我访问MyCollection
抽象类中的get
函数。 有没有办法让这种模式起作用? 它对我来说似乎很漂亮和干净。
由于以下原因,您无法调用Users.get()
:
- 静态方法不会被继承,即使你的MyCollection
类包含一个静态的get()
方法(它不包含它;它包含一个实例get()
方法)
- 您的Users
类中没有静态get()
方法。
这两个组合应该可以让您更好地了解无法拨打电话的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.