Java:“一种方法落后于另一种方法”的真正含义是什么?

时间:2013-12-16 11:31:01

标签: java

我遇到过“doSomethind()方法被修改以追踪另一种方法”的文字“,这对我来说不是很清楚这意味着什么?

  • 这是否意味着它正在调用“另一种方法”?
  • 这是否意味着它覆盖或覆盖“另一种方法”?
  • 这是否意味着它被“另一种方法”调用?

我真的很困惑。

3 个答案:

答案 0 :(得分:1)

  

“如果没有异常处理代码的doSomethings()跟踪一个抛出异常的方法,那会使代码编译什么?”

“Trails”可能意味着什么。我原以为它只是意味着它出现在类文件中的另一个方法之后,但我认为作者还有其他的想法。

“没有异常处理代码”这并不意味着什么。在下面的代码中,没有异常处理代码,它编译得很好。

引用中没有任何内容表明你需要做一些特殊的事情来编写一个编译的方法。

警告:一些网站(玫瑰印度)会有很多书面材料,这些材料在技术上很混乱,如果有的话,不应该过于仔细阅读。它们就像许多营销一样,表面上很好,但你对它们的思考越多,它们的意义就越小;)


假设你有这样的代码

public void a() {
    b();
}

public void b() {
    c();
}
  

这是否意味着它正在调用“另一种方法”?

方法b正在调用另一个名为c

的方法
  

这是否意味着它覆盖或覆盖“另一种方法”?

重写意味着它会覆盖在父类中定义的方法,而不是继承它。

覆盖是你可以对文件做的事情,但不是方法。

  

这是否意味着它被“另一种方法”调用了?

方法b由另一个名为a

的方法调用

答案 1 :(得分:1)

“方法尾随”不是计算机科学或Java中定义的术语。看来写这篇文章的人正在使用他们自己的私人术语。你应该让他们找出来。

我的个人猜测将在此结束:

  • 作者意味着该方法放在源代码中的另一个方法之前;或
  • 作者正在引用Method chaining

答案 2 :(得分:0)

看起来像方法链的情况:

公共类SomeClass {

public SomeClass method1() {
    // code here
    return this;
}

public SomeClass method2() {
    // code here
    return this;
}

}

<强>用法:

SomeClass someObj = new SomeClass();
someObj.method1().method2();

这种模式有点小,但它出现在许多地方(如查询框架)或与其他模式一起使用(如Builder模式)。

在任何一种情况下都没有覆盖/重载,他们也没有互相打电话。