Java 多次调用构造函数

Java 多次调用构造函数,java,Java,如何使用同一对象多次调用构造函数 class a { a(int i) { System.out.println(i); } public static void main(String args[]) { a b = new a(); int x = 10; while( x > 0) { //Needed to pass the x val

如何使用同一对象多次调用构造函数

class a
{

    a(int i)
    {
        System.out.println(i);
    }

    public static void main(String args[])
    {
        a b = new a();
        int x = 10;
        while( x > 0)
        {
            //Needed to pass the x value to constructor muliple times
        }
    }
}

我需要将参数传递给该构造函数。

类a的构造函数构造类a的对象

对象的构造只发生一次,之后可以使用方法(函数)修改对象的状态

另外请注意,如果程序员没有在他的类中编写任何构造函数,那么Java编译器会将类的构造函数
(不带任何参数的公共构造函数)
独立放置

在程序员提供构造函数的情况下,编译器不会创建默认构造函数。它假设程序员知道并希望根据显式构造函数的签名创建他/她的类的对象

构造函数调用是链接的。假设存在类下关系

Child.java扩展了Parent.java,Parent.java扩展了GrandParent.java

现在如果
Child-Child=new-Child()
完成后,只创建一个对象,即
Child.java
,但该对象还具有
祖父母
的所有特性,然后是
的特性,然后是

因此,首先调用
GrandParent.java
的构造函数,然后调用
Parent.java
,最后调用
Child.java
的构造函数

构造函数是特殊的,不同于其他方法

构造函数的目的是创建对象,因此每次使用
new
操作符时,都会调用构造函数并创建一个新对象。不能直接调用构造函数。你需要新的接线员来打电话。即使看到一些类定义方法,如
getInstance()
,它仍然使用
new
操作符来构造对象并返回创建的对象


*PS有一些方法可以在不调用构造函数的情况下创建对象(如序列化),但这与本文讨论的内容无关。

在创建对象时只调用一次构造函数

你能具体说明你想要实现什么吗

但我认为你可以尝试以下两种方法之一

调用构造函数创建新对象并将其分配给对象“b”:

b = new a(1);
void setI(int i){
     this.i = i;
}

b.setI(1);
使用setter方法:

b = new a(1);
void setI(int i){
     this.i = i;
}

b.setI(1);

你想达到什么目标?有多个a类实例或多次打印变量“i”的值?这显然是一个错误。告诉我们您试图实现什么,以及为什么您认为多次调用构造函数会很有用。
while(x>0){b=newa(x--);}
我想使用类似构造函数的方法,这就是多次重用构造函数的原因。我编辑了我的答案。请参见的意图,以及为什么该语言中包含构造函数。如果您多次调用构造函数(使用new),您将创建与调用构造函数次数相同的新对象。@Rajesh这里的帖子(包括其他帖子和我的帖子)是否帮助您了解构造函数的概念和意图,或者您仍然有一些疑问。我建议你阅读我们发布的所有评论和答案,不要把这个概念理解为构造器和方法的意图。应用正确的工具解决您的问题(如上所述,不要将问题变成XY问题)