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实际上,在这种情况下,默认参数会更好;)