gpt4 book ai didi

java - 将调用类传递给子类,并在子类完成工作时调用其中的方法

转载 作者:行者123 更新时间:2023-12-01 12:49:56 25 4
gpt4 key购买 nike

所以,就像问题所描述的那样。这是在 Android 应用程序的背景下,我想知道这是可靠的做法还是令人厌恶的黑客行为?

基本上,类 foo 使用“this”作为参数构造类 baz,然后 baz 放入一个成员变量。当 baz 完成其任务时,它会调用 foo 中的公共(public)函数来返回控制权并通知 foo baz 已完成。

这会让这里的任何人感到不舒服吗?或者这是公认的做法?如果没有,有什么更好的做事方法?

谢谢!

最佳答案

完全正常。

事实上,如果 baz 是一个非静态类,在 foo 内部声明,那么它隐式地具有指向 foo 的指针(在 baz 中称为“foo.this”)。

例如:

findViewById(R.id.button).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) { handleClick(); }
}
);

对“handleClick()”的调用隐含地调用了 foo.this.handleClick() ,并且正是您正在讨论的调用类型。

这并不是说您没有使用该构造做可怕的事情;-)。不过,根据你的描述,这是绝对正常的。

关于java - 将调用类传递给子类,并在子类完成工作时调用其中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24306816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com