开发者社区 问答 正文

定义记录的默认构造函数

我有一条记录,想要向其添加默认构造函数。

public record Record(int recordId) { public Record{

} }

但是它创建了带有int参数的构造函数。

public final class Record extends java.lang.Record{ private final int recordId; public Record(int); //other method }

我们如何向记录添加默认构造函数?


问题来源:stackoverflow

展开
收起
七天一失眠 2020-04-11 15:49:54 1532 分享 版权
1 条回答
写回答
取消 提交回答
  • 做一个优秀的阿里云志愿者

    您永远无法定义默认构造函数,因为在没有定义构造函数的情况下,编译器会生成默认构造函数,因此从定义上讲,任何定义的构造函数都不是默认构造函数。

    如果希望Record具有无参数的构造函数,则只要允许调用将所有记录字段作为参数的“规范构造函数” ,Record便可以添加额外的构造函数或工厂方法。

    public record Record(int recordId) { public Record(){ this(0); } }


    答案来源:stackoverflow

    2020-04-11 15:50:03
    赞同 展开评论
问答地址: