专栏名称: 阿里云开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
今天看啥  ›  专栏  ›  阿里云开发者

一不小心掉入了 Java Interface 的陷阱

阿里云开发者  · 公众号  · 科技公司  · 2024-07-16 08:30

文章预览

阿里妹导读 本文作者记录了一次代码中的踩坑经历,一行很简单的代码在不同的场景下可能也暗藏玄机,希望大家看完都有所收获。 首先请大家花点时间阅读以下的代码块,看看代码是否存在问题或者隐患。 PostTask.java public interface PostTask {     void process () ; } BaseResult.java public interface BaseResult extends Serializable {    List postTaskList = Lists.newArrayList();     default void addPostTask (PostTask postTask) {        postTaskList.add(postTask);    }     default List getPostTaskList() {         return postTaskList;    } } SimpleResult.java public class SimpleResult implements BaseResult { } // 请求处理的一部分逻辑 SimpleResult result = new SimpleResult(); ... // 处理过程中,会往后置任务列表加入任务 result.addPostTask(() -> { ...发消息... }); ... // 在返回结果之前,会对所有的后置任务进行遍历执 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览