您可以在Java的同一实例中调用两个不同的超载构造函数吗?



我正在处理一个简单的计算器问题,我正在上课专门用于处理操作。我在第一类中制作了两个构造函数,其中一个INT和一个占两个构造函数。我打算做的是,当用户输入第一个数字到程序中时,将调用第一个构造函数并保存第一个数字。当他们输入第二个数字时,将调用类的同一实例,但是这次使用构造函数中的两个变量。这可能吗?有一个更简单的方法吗?谢谢。

您不能多次初始化类的同一实例。但是,您可以做的是在调用构造函数之后更改类中任何非最终实例或静态变量的值。最好的编码实践是避免添加任何代码,除了将实例变量初始化到构造函数外,您可以做的就是将所讨论的任何代码移动到其他方法,以便您可以在考虑将构造函数称为第二次的地方。

否,这是不可直接的,因为只能在类实例化时调用构造函数。您可以使用构建器模式之类的东西。

您可以在另一个超载构造函数中调用另一个构造函数。

在您的构造函数中,键入this(yourParameters),并调用另一个构造函数。

示例:

class Example 
{
    public Example()
    {
        this(1); // calls the other constructor
    }
    public Example(int par1)
    {
        // some code here
    } 
}

,但是除此之外,您不能像使用方法那样明确调用构造函数。

最新更新