您当前的位置:首页 > 互联网教程

java进行构造方法的时候,为什么一定要有一个无参构造方法

发布时间:2025-05-24 04:44:00    发布人:远客网络

java进行构造方法的时候,为什么一定要有一个无参构造方法

一、java进行构造方法的时候,为什么一定要有一个无参构造方法

1.子类继承父类的时候会自动继承父类的默认构造函数(也就是继承那个无参数的构造函数)。

2.无参构造函数是所有构成函数的父类,如果没有写那个默认的不带参数的构造函数的话,继承的时候子类就会报错,因为系统不知道要不继承哪个构造函数,必须明确的使用super()关键字来描述。所以一般为了避免这种错误的发生,在有带有多个构造函数的类里面都会写一个不带参数的构造函数。

二、Java构造函数 为什么需要无参构造函数

1、补充下楼上的回答~~“但是如果你创造了一个带有参数的构造方法,那么无参的构造方法必须显式的写出来,否则会编译失败"这句话有点不妥,应该这么理解:每个类至少要有一个构造函数,如果你自己构建了一个带有参数的构造函数而没有再显示的写出无参的构造函数也是可以的,不过当你尝试通过一个无参的构造函数来构建(new)时,此时编译器才会报错,因为找不到这个无参的构造函数。也就是说当一个类你没有给他构造函数,则编译器会自动补上一个无参的,若有的话就不会,你需要显示将此无参的构造函数写出来。

2、另一个问题:无参的构造函数,只是为了比较好的构造类(new),具体情况要根据你的类是如何设计的,呵呵。

三、Java中如何在无参构造方法中调用有参构造

1、一般正常的都是参数多的调用参数少的。有参数的调用无参数的居多。

2、当然你要无参调用的参的也可以。

3、你用无参,调用有参的。那你有参的参数你需要怎么传呢。当然如果换一个角度也可以。

4、我手写下。没经过IDE的。提供下思路。我有两种思路,写同一个功能。

5、public Person(String name,int age){

6、this(name);//调用一个参数的构造方法

7、这是一种写法比较常用的方法。写第一种。用上面的例子直接写

8、this("张三",20);//调用有参构造方法。设置默认值。和第一种方法功能一样

9、public Person(String name,int age){

10、为了程序易读性。一般。参数的扩展和构造方法的调用都是有一定的规律的。

11、有参调无参,多参调少参。。扩展参数的时候,最好保持原来的顺序。