使用参数化构造函数创建对象时出现以下错误。
Main.java:6: error: constructor Cipher in class Cipher cannot be applied to given types
Cipher cy = new Cipher(k); ^
必需:无参数
发现:整数
原因:实际参数列表和形式参数列表的长度不同
这是我的文件,看起来像
<b>Main.java</b>
public class Main {
public static void main(String []args){
int k=8;
Cipher cy = new Cipher(k);
String encrypted_msg = cy.encrypt(message);
String decrypted_msg = cy.decrypt(encrypted_msg);
view1.displayResult("Decrypted message: "+decrypted_msg);
}
}
<b>Cipher.java</b>
import java.util.*;
public class Cipher
{
private int key;
// Constructor
public void Cipher(int k)
{
key = k;
}// end Constructor
} // end class
最佳答案
改变
public void Cipher(int k)
至
public Cipher(int k)
返回类型为void
,这不是构造函数。在 Java 中,构造函数不指定返回类型。返回类型只是类的名称。
因此,在您的示例中,由于您尚未定义构造函数,Java 将提供以下格式的默认无参构造函数:
public Cipher() {}
因此,错误消息告诉您仅存在无参数构造函数,但您正在调用需要 int
参数的构造函数。
关于java - 在 Java 中使用参数化构造函数创建对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49684205/