[英]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.