所以,就像问题所描述的那样。这是在一个Android应用程序的上下文中,我想知道它是坚实的做法还是令人厌恶的黑客攻击?
基本上,类foo使用'this'作为参数构造类baz,然后baz将其放入成员变量中。当baz完成它的任务时,它调用foo中的一个公共函数来返回控制并通知foo baz已经完成。
这会让这里的任何人感到恶心吗?还是接受了练习?如果没有,有什么更好的做事方式?
谢谢!
答案 0 :(得分:1)
完全正常。
实际上,如果baz是一个非静态类,在foo中声明,那么它有一个指向foo的指针,隐含地(它被称为" foo.this",在baz中)。
例如:
findViewById(R.id.button).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) { handleClick(); }
}
);
调用" handleClick()"在那里,隐含地调用了foo.this.handleClick()以及你正在讨论的那种电话。
这并不是说你没有用构造做可怕的事情;-)。但就你所描述的而言,这绝对是正常的。