我们假设A是B的父类,B是A的子类。
1、如果程序员没有给类A没有提供构造函数,则编译器会自动提供一个默认的无参数的构造函数,如果用户提供了自己的构造函数,则编译器就不在提供默认的无参数构造函数。
2、子类B实例化时会自动调用父类A的默认构造函数,所以如果A的默认的无参数的构造函数为private,则编译器会报错,而如果A没有提供默认的无参数的构造函数,而提供了其他类型的构造函数,编译器同样会报错,因为B找不到A的默认无参数构造函数。所以,我们最好给父类A提供一个无参数的构造函数。
Java类继承中的构造函数问题
最新推荐文章于 2022-05-01 21:56:15 发布
博客围绕Java中父类和子类构造函数展开。若父类未提供构造函数,编译器会提供默认无参构造函数;若用户提供则不再提供。子类实例化会自动调用父类默认构造函数,若父类默认无参构造函数为private或未提供,编译器会报错,建议给父类提供无参构造函数。
636

被折叠的 条评论
为什么被折叠?



