java - 实际参数和形式参数长度不同 - Java 构造函数错误

标签 java constructor

我开始学习Java,遇到了一个我无法解决的问题。我有一个带有构造函数的名为 MyClass 的类。我想将该构造函数设置为访问私有(private)字段:

public class MyClass{
    private long variable1;
    public MyClass(long variable1){
        this.variable1=variable1;
    }
    public long somethingElse(Argument argument){
        return somevalue;
    }
    }

当我删除构造函数时,我可以从另一个类调用 somethingElse。但是,当我尝试一些类似的东西时

data = new MyClass(); 
return data.somethingElse(argument);

我在 data = new MyClass() 处收到一个错误,实际参数和形式参数的长度不同,并且“需要很长,但没有找到参数”。我该如何解决这个问题?

最佳答案

来自 here :

The compiler automatically provides a no-argument, default constructor for any class without constructors

当您显式添加构造函数时,您会覆盖默认的无参数构造函数。因此,要取回它,只需手动添加它:

public class MyClass{
    private long variable1;

    // This is what you need to add.
    public MyClass() {
    }

    public MyClass(long variable1){
        this.variable1 = variable1;
    }

    public long somethingElse(Argument argument){
        return somevalue;
    }
}

关于java - 实际参数和形式参数长度不同 - Java 构造函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30228893/

相关文章:

c++ - 如何从另一个构造函数调用 C++ 类构造函数

java - 如何在处理结束时显示 "Loading..."消息自动关闭(类似于Progress Bar)?

java - Android MediaPlayer.OnCompletionListener() 的意外行为

c++ - 具有相同名称但不同签名的多个构造函数定义 (C++)

java - 使用这个在构造函数中设置变量

c++ - 变量初始化和构造函数

oop - Fortran 构造函数出错

java - 通过使用stream()压缩另一个映射来构造新的HashMap

java - 泛型和匿名类(错误或功能?)

java - 在 Java 中使用自定义异常