我想创建扩展Activity的自定义活动类
但添加了另一个继承者必须实现的摘要方法。
示例:
interface MyActivity extends Activity
{
public void myAbstractMethod();
}
IDE说:“类型Activity不能是MyActivity的超级接口;超级接口必须是接口”
我该怎么做?
谢谢。
答案 0 :(得分:6)
听起来你需要MyActivity
成为一个抽象类,而不是一个接口。接口不从类继承;它们只能从其他接口继承。
尝试
abstract class MyActivity extends Activity
{
public abstract void myAbstractMethod();
}
抽象类及其所有方法抽象行为就像一个接口,所以这听起来像你需要的。
答案 1 :(得分:2)
您可以使用抽象类而不是接口。
在http://docs.oracle.com/javase/tutorial/java/IandI/abstract.html
了解详情e.g。
abstract public class AbstractActivity extends Activity {
public abstract void myAbstractMethod();
}
但是,这不允许您同时实现AbstractActivity和另一个超类,但听起来并不像您需要它。
答案 2 :(得分:1)
接口只能扩展其他接口,而不是具体的类。
答案 3 :(得分:0)
看起来接口CAN扩展了一些类。例如,
java.util.concurrent.ExecutorService:
public **interface** ExecutorService **extends** Executor { ...
java.util.concurrent.Executor:
public **class** Executors { ...
但仅限java.util.concurrent.Executorhas
个静态方法。