接口是否应包含自己的回调类?

时间:2016-10-31 08:22:05

标签: java android interface callback

如果我有一个包含多个回调的界面,我希望将其用作完整集或单独使用。我可以简单地在界面中创建所需的类吗?或者我应该将其设置为静态并将其移至另一个类?

我在代码中的含义示例:

public interface SomeChangeListener {

void OnSomeChangeA();

void OnSomeChangeB();


class SomeCallback implements SomeChangeListener {

    @Override
    public void OnSomeChangeA() {}

    @Override
    public void OnSomeChangeB() {}
}}

这很有效,我只关心其中的任何缺陷,这会在某些时候引起问题。内存泄漏等...

任何提示将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:1)

将类定义放入接口......不应该导致内存泄漏。喜欢:永远。

或者换句话说:如果你设法放下导致内存泄漏的类定义,那么泄漏是由你的代码所做的事情引起的。不是因为它是属于某个类的某些字节代码的一部分在这里或那里!

因此,这里真正重要的缺陷是:通常,接口用于从具体实现中创建抽象。将一个实现直接放入您的界面以某种方式与该目标相矛盾!例如,请参阅here

长话短说:你可以做到;但我认为它带有一定的“糟糕的设计”#34;气味