所以我在一个零碎的文件夹中得到了这段代码,这些代码将用于一个已经停止开发的项目。但是,作为 Java 新手,我有几个问题(我知道代码无法编译,但这适用于我的问题之一)。
interface Executable {
public int execute (Object o);
}
public class Biv implements Executable {
public int execute (String s) {
System.out.println (s);
return s.length();
}
public static void main (String[] args) {
Executable e = new Biv();
System.out.println(
e.execute ("Hello World!"));
}
}
1)我的第一个问题是关于变量 e。它是用 Executable 对象类型声明的,但是我不明白为什么它可以用新的 Biv 对象实例化。这是怎么回事,这是什么意思?
2)错误出现在 Biv 类中的执行方法中。这似乎是因为它需要一个对象而不是字符串。但是,不能因为 String 是 Object 的子类,就不能用 String 替换 Object 吗?我可以理解,如果您将 String 替换为 Object ,它会出现错误(我认为),但不是当前的完成方式。