java如何中断父类方法_如何从java中的超类方法停止退出子类方法执行

更新时间:2023-07-13 03:32:01 阅读: 评论:0

java如何中断⽗类⽅法_如何从java中的超类⽅法停⽌退出⼦类
⽅法执⾏
鉴于以下⽚段:
超级实施:
@Override
public void onDone(String taskName, JSONObject receivedData, @Nullable HashMap ntData) {
//checks the status for all done process decides to call the prenter failed or success
try {
boolean success = String("status").equals("success");
if(!success){
(String("reason"));
}
}catch (JSONException ex){
ex.printStackTrace();
("An error occurred");
}
错中复杂}
⼦类实施::
@Override
public void onDone(@NonNull String taskName, @NonNull JSONObject receivedData,
超好听的来电铃声@Nullable HashMap ntData) {
盲人摸象的意思
管理手册Done(taskName, receivedData, ntData);
/
/the expected data has been received we should act upon it
//this DAO should know all the type of taskName it can handle and if it finds any that doesn't
//matches any of its command let it exit
Log.e(TAG, "Respon : "+receivedData);
电脑开机密码忘记Toast.makeText(Context(), "Done with task", Toast.LENGTH_LONG).show();
if(ntData!=null){
ntData.clear();
ntData = null;
庄子逍遥游}
}
我想要的是,只要Done⽅法检测到错误,该进程应该在那⾥结束,不应该打扰运⾏⼦类⽅法的主体,这在JAVA中可能吗?
解决⽅法:
妄自菲薄造句你可以
>让⽅法抛出异常(可能需要更⼤的重构才能处理异常)
>让⽅法返回fal(将返回类型从void更改为boolean)并在继续之前检查⼦类中的状态.您还可以返回更详细的状态代码.
>让超类将其处理状态设置为⼦类可以检查的实例变量(this.wentWell = true).这样做的缺点是它引⼊了可变状态并且不是线程安全的.
>(这种设计越来越糟糕):让超类更新它收到的HashMap,并提供⼀些额外的信息供⼦类获取(ntData.put(“goWell”,“true”)).这类似于rvlet过滤器通过设置“请求属性”传递数据的⽅式.取决于该地图是可更新的(不是这种情况),可能会通过数据注⼊打开远程攻击(您将内部处理逻辑标志放⼊可能直接来⾃谁知道位置的数据结构中).
猜猜我有多爱你读后感标签:java,android,design-patterns

本文发布于:2023-07-13 03:32:01,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1093663.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:状态   处理   可能   应该   设置
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图