【发布时间】:2019-09-09 10:10:02
【问题描述】:
我已经很久没有提出问题了,请原谅我的错误。
所以,我有一个我不明白的代码。它处理接口和超/子类。我什至有答案,但我只是不知道它是如何得到答案的。我的问题是,我将如何学习跟踪,或者有没有办法可以查看在 Eclipse 中首先执行哪些行?
例如,eclipse 或任何其他工具是否允许用户实际查看打印的行以及打印行的原因?
这是我的代码。我有正确的答案,但我只是不知道他们是如何追踪它的。任何帮助,将不胜感激。
interface Silly {
public void narf();
public void poit(Silly s);
}
public class Bird implements Silly {
public static void main(String args[]) {
System.out.println("zero");
Silly s = new SillyBird(1);
Silly s2 = new Loony();
s.poit(s2);
s2.poit(s);
System.out.println("zymurgy");
}
public Bird() {
this(0);
System.out.println("zircon");
}
public Bird(int i) {
System.out.println("zanzibar");
}
public void narf() {
System.out.println("zort");
}
public void poit(Silly s) {
s.narf();
}
}
class SillyBird extends Bird {
public SillyBird() {
System.out.println("duchess");
}
public SillyBird(int i) {
super(i);
}
public void narf() {
System.out.println("drum");
super.narf();
}
}
class Loony extends SillyBird {
public Loony() {
System.out.println("stupendous");
}
public void narf() {
System.out.println("snark");
}
}
上述代码的输出是:
zero
zanzibar
zanzibar
zircon
duchess
stupendous
snark
drum
zort
zymurgy
【问题讨论】:
-
您问的是 Eclipse 调试器吗?网上有很多关于这方面的资源,包括文章Debugging the Eclipse IDE for Java Developers
-
那能帮我追踪上面的代码吗?
-
我相信是的。按照文章中的说明设置断点,然后单步执行代码。
标签: java interface implementation superclass