为什么说java中一个类中定义两个构造函数。

为什么说java中一个类中定义两个构造函数。是不是意思就是一个是无参构造函数,一个是有参数的构造函数,

8个回答

构造函数可以定义很多个,如同函数重载,只要参数个数类型不同就可以。
因此无参构造函数只能有一个。至于定义2个,可以是一个无参,一个有参,也可以是2个有参。

构造函数可以有多个,如果不创建默认一个午餐输的构造函数,也可以根据需要自己定要有参数的构造函数。可以是一个或者多个参数根据需求来定。

是的。一个有参的构造函数,可以从外部传值进来,在这个类重视用,

oh no, an object can have multiple constructors with different parameters.

qq_33020145
gosysdod oh yeah
2 年多之前 回复

不一定啊,可以定义多个构造函数的啊,要看你的类的设计了。

构造函数可以有很多个,但类型有:无参数构造方法和有参数构造方法。缺省情况下是无参构造方法,在定义有参数构造方法后必须声明无参数构造方法,不然会报错。

有参构造函数肯定是用来构造类的,无参构造函数主要是在框架中比如spring,来实例化的,,底层的实现是Class clazz=Class.forName(类名);,,
Object obj=clazz.newInstance();,,这里调用的就是无参构造函数,,如果没有的话就会抛异常

这个要看你在创建对象的时候的需求了,如果你对象初始化的时候没有参数的话只需要用到无参的构造方法了,而且这个无参的构造方法不需要你去创建,系统会帮你创建,默认是不可见的,但是如果你初始化时有需要参数传进去的话,就要根据你参数来创建构造方法,构造方法的作用就是对象初始化时候调用的!而且有一点,如果你自己定义了自己的构造方法,系统默认的无参构造方法,它就不会在创建了,所以如果你有需要用到无参的时候就要自己创建构造方法!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐