Skip to content

观察者模式实现

Javadoc

java
/**
 * 【概要描述】一句话说明功能(必须写)
 * <p>
 * 【详细描述】详细说明作用、逻辑、注意事项等
 * 支持简单HTML标签:<br>换行 <code>代码</code> <b>加粗</b>
 * 
 * 【Javadoc标签】固定格式的标记,用于标注作者、参数、返回值等
 * @标签名 内容
 */

仅能写在 类、接口、枚举、方法、成员变量 的声明上方,不能写在方法内部

最常用标准Javadoc标签

标签作用使用位置
@author 作者名标注类/接口的作者类、接口、枚举
@version 版本号标注类/接口的版本类、接口、枚举
@since 版本标注从哪个版本开始支持类、方法、字段
@param 参数名 说明说明方法的入参含义方法、构造方法
@return 说明说明方法的返回值非void方法
@throws 异常类 说明说明方法可能抛出的异常方法
@deprecated标记已废弃,不推荐使用类、方法
@see 类/方法关联参考的类/方法任意

特性 {@link} @see 使用位置 句子内部,和文字混排 必须单独一行,不能嵌在句子里 语法格式 {@link 类名#方法名(参数)}(带大括号) @see 全类名#方法名(无大括号) 展示效果 像普通文本一样,只是可点击 生成文档时会单独出现「另请参阅」区块 你的场景是否适合 ✅ 描述需求时提到类 / 方法,嵌在行内 ❌ 强行用会破坏句子,语法错误

对比维度继承 Thread实现 Runnable 接口实现 Callable 接口
实现方式继承类实现接口实现接口
核心方法run()run()call()
返回值✅ (泛型指定)
抛出异常❌ 不能抛检查异常❌ 不能抛检查异常✅ 可以抛出异常
继承限制❌ 单继承,无法扩展✅ 无限制✅ 无限制
资源共享
代码复杂度简单中等稍复杂
推荐指数⭐⭐⭐⭐⭐⭐⭐⭐⭐(需要返回值时)
  1. 启动线程必须用 start()****,不能用 run()
    1. 直接调用 run():只是普通方法调用,在主线程执行,不会创建新线程
    2. 调用 start():JVM 会创建新线程,自动调用 run() 执行任务
  2. 优先选择:
    1. 无返回值 → 实现 Runnable
    2. 有返回值/需要异常处理 → 实现 Callable
    3. 永远不推荐继承 Thread(单继承坑太大)

记录学习,分享技术