java - 构造函数是否必须使用传递给它的所有参数?

标签 java oop constructor

构造函数是否必须使用传递给它的所有参数?

例如:构造一个新的对象时传递了三个参数,是否必须对所有的参数都进行赋值?

提前致谢!

最佳答案

技术上 - 您不必分配传递的所有参数。

但更重要的问题是 - 如果它们未被使用,为什么要首先传递它们?

更新

假设你有这个类:-

public final class SomeClazz {
    private final int foo;
    public SomeClazz(int foo,int bar){
        this.foo = foo;
    }
}

并且您以这种方式调用它:-

SomeClazz clazz = new SomeClazz(2,4);

没有技术问题,但正如我上面提到的,拥有一个接受 2 个参数但不使用它的构造函数是没有意义的。在这种情况下,您应该创建一个只接受一个参数的构造函数。否则,您会误导调用应用程序认为这两个参数都用于创建对象。

关于java - 构造函数是否必须使用传递给它的所有参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5852480/

相关文章:

c++ - 如果基类构造函数受到保护,为什么我们不能在派生类函数中创建基类的对象

java - ToolProvider.getSystemJavaCompiler() 返回 null

java - 运行 Android 模拟器时如何修复 GPU 驱动程序问题错误

java - Java 的双向可扩展层次结构

c++ - 如何在 C++ 中创建参数化对象数组?

c++ - "Call to implicitly deleted default constructor of "错误

java - Spring - 多个@Component

java - Gwt 和 Sencha,你们忘记继承一个必需的模块了吗?

c++ - 用于无需复制的大型成员变量的 Getter

c++ - 是否有嵌套枚举类的接口(interface)机制?