gpt4 book ai didi

java - 接口(interface)的默认实现?或保留为空

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:18 30 4
gpt4 key购买 nike

所以这个问题并不是很容易理解,但我会尽力,假设我有一个界面:

interface OnWindowMoveListener{
void onWindowMove(MotionEvent motionEvent);
}

现在在我的类(class)里

OnWindowMoveListener onWindowMoveListener;

public void setOnWindowMoveListener(OnWindowMoveListener onWindowMoveListener){
this.onWindowMoveListener = onWindowMoveListener;
}

稍后在我的代码中调用 onWindowMoveListener.onWindowMove() 但我不想检查 onWindowMoveListener 是否已由用户设置,因此不为空,我将如何为此监听器创建默认实现?如果用户自己没有实现这些接口(interface),我是否必须在类的主方法中手动实现这些接口(interface),或者是否有其他方法可以做到这一点?我一直在调用之前检查接口(interface)是否已实现,但想知道是否有更干净的方法来执行此操作。谢谢

最佳答案

进行 nullcheck 并不是一种成本操作,但如果您确实需要避免它,最好的选择是使用空对象设计模式。

创建一个不执行任何操作的接口(interface)实现,然后将其用作 onWindownMoveListener 的默认值。

有关此设计模式的更多信息,请参阅:https://sourcemaking.com/design_patterns/null_object/java-0

关于java - 接口(interface)的默认实现?或保留为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41168639/

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