Get_T 2020-08-11 11:02 采纳率: 0%
浏览 415

Java 写了有参构造后,为什么编译器就不会增加无参构造函数?

更改了一下问题描述:

Java 写了有参构造后,为什么编译器就不会增加默认的无参构造函数?

这么设计有什么作用,或者是出于什么考虑?

如果在我写了自己的构造函数后,编译器仍然增加无参构造函数的话,对工程有何影响?

例如如下代码:

class Father {
    public String name = "Father";

    public Father(String name) {
        this.name = name;
    }
}

public class Test {
    public static void main(String[] args) {
        Father p = new Father();   //Err
    }
}
  • 写回答

2条回答 默认 最新

  • threenewbee 2020-08-11 12:08
    关注

    其实你理解错了
    没有“默认的无参构造”
    而是你没有写构造函数,Java会帮你自动生成一个无参构造函数。
    换一句话说,你无论写了有参数构造函数、无参数构造函数、私有构造函数,只要你写了,Java一看有了,就不帮你生成了。

    评论

报告相同问题?

悬赏问题

  • ¥15 前端预览docx文件,文件从后端传送过来。
  • ¥15 层次聚类和蛋白质相似度
  • ¥25 主成分分析中的第一第二主成分分别代表哪些参数
  • ¥15 oracle数据库查询语句问题
  • ¥15 有没有c++绘制算法的佬们吗救孩一下
  • ¥15 android 蓝牙闪退
  • ¥15 绝缘子污秽comsol仿真参数
  • ¥15 labelme生成的json有乱码?
  • ¥30 arduino vector defined in discarded section `.text' of wiring.c.o (symbol from plugin)
  • ¥20 如何训练大模型在复杂因素组成的系统中求得最优解