如果我有一个包含多个回调的界面,我希望将其用作完整集或单独使用。我可以简单地在界面中创建所需的类吗?或者我应该将其设置为静态并将其移至另一个类?
我在代码中的含义示例:
public interface SomeChangeListener {
void OnSomeChangeA();
void OnSomeChangeB();
class SomeCallback implements SomeChangeListener {
@Override
public void OnSomeChangeA() {}
@Override
public void OnSomeChangeB() {}
}}
这很有效,我只关心其中的任何缺陷,这会在某些时候引起问题。内存泄漏等...
任何提示将不胜感激。 感谢。
答案 0 :(得分:1)
将类定义放入接口......不应该导致内存泄漏。喜欢:永远。
或者换句话说:如果你设法放下导致内存泄漏的类定义,那么泄漏是由你的代码所做的事情引起的。不是因为它是属于某个类的某些字节代码的一部分在这里或那里!
因此,这里真正重要的缺陷是:通常,接口用于从具体实现中创建抽象。将一个实现直接放入您的界面以某种方式与该目标相矛盾!例如,请参阅here。
长话短说:你可以做到;但我认为它带有一定的“糟糕的设计”#34;气味