java 为什么有时一个类有多个构造函数?

如题所述

第1个回答  推荐于2019-11-02
构造方法是在产生对象时被java系统自动调用的,我们不能在程序中像调用其他方法一样去调用构造方法(必须通过关键词new自动调用它)。但我们可以在一个构造方法里调用其他重载的构造方法,不是用构造方法名,而是用this(参数列表)的形式,根据其中的参数列表,选择相应的构造方法。例如:
public class Person{
String name;
int age;
public Person(String name){
this.name = name;
}
public Person(String name,int age){
this(name);
this.age = age;
}
}本回答被网友采纳

java中,一个类只能有一个构造器吗
构造器说白了是让编程人员在编写代码的时候可以更方便,少写点代码,比如说你在构造上面那个Test类的时候就想给name和password两个属性赋值,就可以选择第二个构造函数,比如:Test t = new Test("jinjin","123456");当然了,你还可以在构造器里面加入一些商业逻辑,以便在一构造这个类出来的时候,就做...

为什么要设置多个构造方法,多个构造方法有什么用
比如你定义了一个四边形的类class Quattro 你可以仅仅定义一个构造函数:Quattro(double length, double height)但是如果四边形是一个正方形的话,那么初始化的时候仍要写全两个参数 Quattro a = new Quattro(10, 10)此时你定义一个新的构造函数:Quattro(double length)就可以 Quattro a = new Quatt...

java中,一个类只能有一个构造器吗
不是的 一个类可以有多个构造器 而且构造器之间可以任意调用对方 比方说已经有构造函数Test(int a,int b,int c){} 还可以重载构造函数Test(int a,int b){this(a,b,0);}

JAVA构造方法
构造方法不能作用是完成对象的初始化工作,他能够把定义对象时的参数传递给对象的域。构造方法不能由编程人员调用,而要系统调用。构造方法可以重载,以参数的个数,类型,或排序顺序区分。例子:1;单个构造函数方法;’2;多个构造函数方法 (例子为;带参数与不带参数)3;关于继承类的构造方法的调用...

一个类中可以有( )个构造函数,只能有( )个析构函数。
一个类中可以有多个构造函数,只能有一个析构函数。构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造函数的重载。...

在JAVA 中为什么在父类中定义了一个构造函数,而在其子类中却一定的要...
子类不一定非要写一个构造函数。(1)如果你有需要加入参数来构造一个类实例的话,那你就可以写一个,但是写前需要第一句是“super();”这是调用父类的构造方法。(2)如果你没有特定的要求,那就可以不写,java虚拟机会在编译的时候给你自动添加一个无参数的构造方法。下面是写构造方法的注意...

java程序中为什麼要用构造函数?? 在什麽情况下要用到???
数据的初始化是非常重要的,未经初始化的数据很多情况下都不是期望的结果,很多忘记初始化的数据是导致错误的根源。构造函数就是提供了一个初始化的地方,可以把初始化数据的代码写在构造函数里。构造方法,顾名思义,就是在你new一个对象的时候就被调用的。当没有定义构造方法时每个类里都有一个默认...

java构造函数有什么用,怎么用
Java中的构造函数主要用于初始化对象的状态。当我们创建一个对象时,构造函数会被自动调用,以设置对象的初始状态。每个类都可以有一个或多个构造函数,根据参数的不同,构造函数的职责也有所不同。其主要作用包括:1. 初始化对象的属性。2. 为对象的行为设置初始状态。3. 验证传递给对象的初始值是否...

JAVA一个类有两个构造函数,当在一个构造函数中调用另外一个构造函数时...
1、首先,先写一个完整数据,这是一个最原始的构造方法,如图。2、访问修饰符,访问权限修饰符对构造方法的重载不影响。所以不是构成不同构造方法的必要条件。3、排除了访问修饰符之后,由于构造方法没有返回值,接下来唯一可以区别的就是参数了。4、参数类型相同,都为整数类型,编译无法通过。5、最后...

java中关于构造器构造函数构造方法重载方法的困惑
我谈一下我的理解:构造函数可以说就是一个构造器.是用来初始对象用的.你上面说的show(x,y)和show()如果返回值一样就可以说是一个方法重载.举个例子来说下重载吧.比如说你要将一个字符串和一个整形的数据加起来形成一个字符串.(假设+号默认只能连接两个字符串).这时你就要对+号声明方法:public ...

相似回答