【发布时间】:2019-05-01 17:41:49
【问题描述】:
我有以下无法编译的类:
public class C {
public String toString() {
return "Test " + super;
}
}
它给出了编译错误Syntax error on token "super", invalid Expression。
有谁知道,为什么会出现这个编译器错误?预期的效果是"Test " + super.toString(),编译正常,但是为什么上面的例子编译失败呢?字符串连接的普通 Java 规则不应该在这里适用吗?
更令人惊讶的是,下面的代码编译得很好:
public String toString2() {
return "Test " + this;
}
那么为什么this在字符串连接中起作用而super却没有呢?
我使用openjdk 11.0.3 2019-04-16,以防万一(我怀疑)。
【问题讨论】:
标签: java inheritance tostring