假如一个类A有两个构造蠢哪函数A(),和A(int i),当你在对A进行实例化的时候,如果你写A a = new A();那么就会调烂蠢用没有参数的A(),而如果你写A a = new A(123);那么就会调用有参数带历码的A(int i);
1 如果你定义的启芹类液弊中,没有定义带参的构造方法,则初始化对象时,调用默认的构造方法。
2 如果你定义的类闹旁族中,只定义了带参的构造方法,则初始化对象时,只能调用有参构造方法。
你写的有参的构造方法啊!
对象指庆竖没有构造函数就默认会有一个无参的构造函数的。如果有带参的构造唯大函差伍数,你想要无参的构造函数就要自己写多一个无参的构造方法了。
比如你有一个自定义的类A,有有参跟无参两种构造方法,那就有两种情况:
创建对象时,在构造方法参数列表里传递了参数,那么就会调用有参构造方法,反之调用无参;
如果你的A类里缓世面写了有参构造,但是没有写无参构造,那么就不会调用无参构造,这个时行樱候编译器不会给你档哪丛默认添加无参构造的。