Android Java - 创建扩展现有类的接口

时间:2013-04-01 17:22:43

标签: java interface extends

我想创建扩展Activity的自定义活动类

但添加了另一个继承者必须实现的摘要方法。

示例:

interface MyActivity extends Activity
{
    public void myAbstractMethod();
}

IDE说:“类型Activity不能是MyActivity的超级接口;超级接口必须是接口”

我该怎么做?

谢谢。

4 个答案:

答案 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个静态方法。