![](/img/trans.png)
[英]Java: how to create a generic class that requires a data type which extends a class and implements an interface?
[英]Android Java - create an interface which extends an existing class
我想創建自定義活動類來擴展“活動”,
但是增加了繼承者必須實現的另一個抽象方法。
例:
interface MyActivity extends Activity
{
public void myAbstractMethod();
}
IDE說:“活動類型不能是MyActivity的超級接口;超級接口必須是接口”
我該怎么做?
謝謝。
聽起來您需要MyActivity
成為抽象類,而不是接口。 接口不是從類繼承的。 它們只能從其他接口繼承。
嘗試
abstract class MyActivity extends Activity
{
public abstract void myAbstractMethod();
}
具有其所有方法抽象的抽象類的行為類似於接口,因此聽起來像您所需要的。
您可以使用抽象類而不是接口。
在http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html上了解更多信息。
例如
abstract public class AbstractActivity extends Activity {
public abstract void myAbstractMethod();
}
但是,這不允許您同時實現AbstractActivity和另一個超類,但這聽起來並不像您需要的那樣。
一個接口只能擴展其他接口,不能擴展一個具體的類。
看起來接口可以擴展某些類。 例如,
java.util.concurrent.ExecutorService:
public **interface** ExecutorService **extends** Executor { ...
java.util.concurrent.Executor:
public **class** Executors { ...
但是java.util.concurrent.Executorhas
僅具有靜態方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.