java的构造函数

主要介绍java的构造函数

定义

首先我们肯定要知道什么是构造函数?

简单来说,就是与类名相同,无返回类型的方法,参数可以为空,一般称之为无参构造,也可以有参数,一般称之为有参构造。

实例化

比如说有个test类,你想要实例化它,一般都是new test();

这种new 一个类的名称,后面加括号的就是调用的是这个类的无参构造,当然里面如果有参数,调用的就是有参构造了。

注意

编译报错

在一个类中,当没有在子类里加super(),也没有在父类里构造无参函数

编译器看到我们在父类里写了有参构造法方法,它就会认为,我们不想让子类在回溯的时候走默认的无参构造方法这条路【super(); 此路不通】,但是我们又没告诉给子类,它应该走哪条路(你给了有参就是告诉我不要走无参,但也没告诉我走有参,那走哪?),所以会报错。 所以,若父类没有提供无参构造方法,但是提供了有参构造方法,就要在子类的无参构造方法里,显示的加上调用父类的有参构造方法语句。 如:super();(这里就告诉了去走有参了)

总结

  1. 无参构造运行是需要往上一级一级找无参,甚至找到object
  2. 如果其中一级只有有参,没有无参,会发生错误。但只有无参,没有有参一定不会出错。
  3. 在以后的Java开发中,若一个类要有带参构造方法,要记得先写无参构造方法。防止类追溯时找不到上级,报错。