Java自定义copy()方法报错 构造方法参数不匹配问题求助
错误根源
Java 类如果显式定义了带参数的构造方法,编译器将不再自动生成默认无参构造方法。你代码里的 FileName 类只定义了接收两个String参数的构造方法,copy() 方法中调用无参的 new FileName() 自然会匹配不到对应构造方法,触发参数不匹配报错。
修复方案
你要实现对象拷贝逻辑,直接将当前对象的name、extension属性传入构造方法即可,修改copy()方法代码如下:
public FileName copy() { return new FileName(this.name, this.extension); }
如果你的业务需求或者UML要求必须支持无参构造,也可以手动给FileName类补充无参构造方法:
public FileName() { }
内容的提问来源于stack exchange,提问作者GluhaiaMuha
相关产品推荐
相关产品推荐

