【问题标题】:How do I decipher what this code does based on the comments and naming?我如何根据注释和命名破译这段代码的作用?
【发布时间】:2012-06-10 20:21:39
【问题描述】:

我正在探索一个大型 Java 库,并遇到了这段代码。我想知道 @Override 的用途以及 cmets 中的 # 符号。

这是一个不完整的函数吗?看起来像这样,因为它总是返回 false。

/* (non-Javadoc)
 * @see cascadas.supervision.components.SensorDataReady#evaluate(cascadas.ace.event.Event, cascadas.ace.session.Contract, cascadas.ace.session.Session, cascadas.ace.session.Session)
 */
@Override
public boolean evaluate(Event inputMessage, Contract contract,
        Session executionSession, Session globalSession) {
    // TODO Auto-generated method stub
    return false;
}

感谢任何提示。

【问题讨论】:

    标签: java debugging


    【解决方案1】:

    关于英镑 (#) 的含义,请参阅the documentation for the @see Javadoc tag。它基本上指定了一个package.class#member

    (non-Javadoc) 部分指定此方法将从其超类之一的 Javadoc 继承其 Javadoc。方法注释基本上将您定向到 SensorDataReady#evaluate 以获取此方法的 Javadoc。

    @Override 是一个注解。见其Javadoc

    至于方法本身,它看起来像Eclipse-generated code。 Eclipse 将TODO 注释放在那里以提醒开发人员实现被覆盖的方法。

    【讨论】:

    • 非常感谢creemama(好名字:)
    【解决方案2】:

    @Override 表示该方法正在覆盖基类方法。

    【讨论】:

    • 哦,我明白了,所以该方法在它扩展的类中,非常感谢!
    • 嗯,方法确实存在,调用它确实会返回false。但是,如果您从此类中删除 evaluate,则代码中调用 evaluate 的任何实例现在都将恢复为父类实现。
    猜你喜欢
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 2017-10-31
    • 2023-03-16
    • 2018-12-24
    相关资源
    最近更新 更多