14

如果A extends B,使用IntelliJ想法,我如何toString()使用 B 的公共(或受保护)方法自动生成。

在此示例中,如何包含 FileRow 中的公共方法?

在此处输入图像描述

4

3 回答 3

8

有一个模板可以使用super.toString(),但是没有办法直接引用超类成员。可能值得为此功能提交新请求。

于 2012-10-16T11:18:23.647 回答
3

此问题在https://youtrack.jetbrains.com/issue/IDEA-93029中报告

它被标记为已通过修复版本 2017.1(内部版本 171.1161)解决:它很快就会出来 :)

于 2016-11-25T14:46:50.303 回答
3

只需更改生成toString()方法的模板:

Alt+Insert 打开字符串生成器窗口 -> 单击Settings-> 选择Templates选项卡。

然后将您想要的模板复制到一个新模板中,并在语句toString之前添加超类部分。return

   #if ($class.hasSuper)
     stringBuilder.append(super.toString());
   #end
于 2018-02-22T22:39:31.613 回答