java - 为什么不允许 System.out.println(super)?

标签 java oop tostring

为什么不允许System.out.println(super)

System.out.println(this);

这没关系,this.toString() 被自动调用和打印。 当然,用实例变量代替 this 也是可以的。

但是,thissuper 可以按照我所知道的方式使用。

System.out.println(super);

那么为什么会失败呢?我认为它应该隐式调用 super.toString()。 我已经阅读了 Java 规范文档,但我没有找到原因。

最佳答案

http://java.sun.com/docs/books/jls/second_edition/html/syntax.doc.html 检查语法

super 关键字后面必须始终跟有 SuperSuffix,不能为空。

所以 super 永远不能单独作为一个表达式。

关于java - 为什么不允许 System.out.println(super)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6786102/

相关文章:

java - 如何打印我的 Java 对象而不得到 "SomeType@2f92e0f4"?

c++ - 将 float 四舍五入到小数点后一位,然后转换为字符串

JavaScript - 与 toString() 相反?

java - Mockito 使用 JUnit 5 注入(inject)模拟两次

php - ZF3 从表达式创建 SELECT 查询

php - 强制实现接口(interface)的类定义常量

php - MySQL PDO - 设置默认获取模式?

java - 在静态方法 Java 中使用泛型返回值

java - 如何在 Android Studio 中将数据库中的列显示到 TextView 中?

java - 如何使用 Java 将数据从 sas 服务器拉到 hdfs?