Java 我们可以通过创建一个对象来调用一个类的所有构造函数吗

Java 我们可以通过创建一个对象来调用一个类的所有构造函数吗,java,Java,我有一个由三个构造函数组成的类,我的要求是我想用一个对象创建调用所有的构造函数。有可能吗 比方说 Class A{ A(int a){ } A(int a,int b){ } A(int a,int b,int c){ } 我想使用一个对象创建调用所有构造函数,如何做到这一点???您的构造函数应该以这样的方式设计。大概 Class A{ A(int a){

我有一个由三个构造函数组成的类,我的要求是我想用一个对象创建调用所有的构造函数。有可能吗

比方说

 Class A{

        A(int a){
        }

        A(int a,int b){
        }

        A(int a,int b,int c){
        }

我想使用一个对象创建调用所有构造函数,如何做到这一点???

您的构造函数应该以这样的方式设计。大概

 Class A{

        A(int a){
            this(a, 0);
        }

        A(int a,int b){
            this(a, b, 0);
        }

        A(int a,int b,int c){
            // All logic here.
        }

您不能从外部调用多个构造函数来构造一个对象。

您的构造函数的设计方式应该是这样的。大概

 Class A{

        A(int a){
            this(a, 0);
        }

        A(int a,int b){
            this(a, b, 0);
        }

        A(int a,int b,int c){
            // All logic here.
        }
Class A{
   A(){
     this(10);
     System.out.println("No Arg constructor");
   }
   A(int x){
     System.out.println("Int arg constructor");
   }
}
Class B extends A{
 public static void main (String arg[]){
   B b=new B();

 }
}
不能从外部调用多个构造函数来构造单个对象

Class A{
   A(){
     this(10);
     System.out.println("No Arg constructor");
   }
   A(int x){
     System.out.println("Int arg constructor");
   }
}
Class B extends A{
 public static void main (String arg[]){
   B b=new B();

 }
}
this()调用它自己的重载构造函数。this()不是自动添加的,我们应该手动添加


this()调用它自己的重载构造函数。this()不是自动添加的,我们应该手动添加

你为什么要这么做?可能吧,不。每个构造函数都创建自己的实例。但是,如果你想要的是共享代码,那么构造函数可以共享代码。此外,除了构造函数之外,还有实例初始值设定项块。所有这些都是在所选构造函数之外运行的。您可以在这里参考:顺便说一句,使用字节码生成是可能的,但我假设这不是您想要的。您为什么要这样做?可能吧,不。每个构造函数都创建自己的实例。但是,如果你想要的是共享代码,那么构造函数可以共享代码。此外,除了构造函数之外,还有实例初始值设定项块。所有这些都是在所选构造函数之外运行的。您可以在这里参考:顺便说一句,这可以通过字节码生成实现,但我假设这不是您所想的。我一定很喜欢c#的快捷语法:
MyClass():这(0)
etc也可用于调用基类constructors@BenKnoble实际上,在这种情况下,默认参数会更好;)我喜欢c#这里的快捷语法:
MyClass():这个(0)
etc也可以用来调用基类constructors@BenKnoble实际上,在这种情况下,默认参数会更好;)