gpt4 book ai didi

java - 组织回调的首选方式是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 20:07:01 24 4
gpt4 key购买 nike

<分区>

在我的 Android 项目中,我定义了一些回调来对按钮点击、连接事件或 UI 事件(例如 Dilaog.onShow())进行操作。出于演示目的,我选择了一个必须从某些 Activity 代码启动的 Runnable 接口(interface)。使用 Java,我有不同的方式来表达自己。

一种模式是使用匿名类

runOnUiThread(new Runnable() { 
public void run() {
doSomething();
}
});

private void doSomething() {
}

另一个 - 定义一个内部私有(private)类,即

private DoSomething implements Runnable {
public void run() {
// do something;
}
}
...
runOnUiThread(new DoSomething());

还有一个 - 使用私有(private)成员,像这样:

private final Runnable doSomething = new Runnable() {
public void run() {
// do something;
}
}
...
runOnUiThread(doSomething);

这是另一个,我最喜欢它,因为一方面它实际上并不构造对象,除非有人真正使用它,因为它避免了额外的类,因为它可以在需要时采用参数。

private Runnable doSomething() { 
return new Runnable() {
public void run() {
// do something;
}
}
}
...
runOnUiThread(doSomething());

我不是在寻找品味或宗教信仰方面的争论,而是在寻找代码可维护性和性能方面的争论。我希望收到可以帮助我发展自己的偏好的提示和建议,可能 - 根据给定的情况不同的偏好。

剧透:

Java 的进步使这个问题过时了,​​请参阅已接受的答案。

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