永发信息网

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

答案:2  悬赏:0  手机版
解决时间 2021-02-14 19:32
class cust { int a; cust(){} cust(int a) { this.a=a; } } class test { cust A=new cust(4); } 如果没有cust(){} 会怎么样啊,构造函数中无参的是起什么作用的? cust(int a) {...}也是构造函数么
最佳答案
子类继承父类的时候会自动继承父类的默认构造函数(也就是继承那个无参数的构造函数)。而你的类里面已经有一个带有参数的构造函数了,如果你没有写那个默认的不带参数的构造函数的话,继承的时候子类就会报错,因为系统不知道要不继承哪个构造函数,必须明确的使用super()关键字来描述。所以我们一般为了避免这种错误的发生,在有带有多个构造函数的类里面都会写一个不带参数的构造函数。
全部回答
补充下楼上的回答~~“但是如果你创造了一个带有参数的构造方法,那么无参的构造方法必须显式的写出来,否则会编译失败"这句话有点不妥,应该这么理解:每个类至少要有一个构造函数,如果你自己构建了一个带有参数的构造函数而没有再显示的写出无参的构造函数也是可以的,不过当你尝试通过一个无参的构造函数来构建(new)时,此时编译器才会报错,因为找不到这个无参的构造函数。也就是说当一个类你没有给他构造函数,则编译器会自动补上一个无参的,若有的话就不会,你需要显示将此无参的构造函数写出来。 另一个问题:无参的构造函数,只是为了比较好的构造类(new),具体情况要根据你的类是如何设计的,呵呵。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
穿紧身牛仔裤,裤脚长一些好还是正好合适好
中国农业银行24小时自助银行(古城南路)地址在
相似三角形的应用题以及答案
睡梦中害怕突然抖动惊醒是什么预兆周公解梦
有没有推荐的既能专业作图 又能玩游戏流畅的
中国农业银行24小时自助银行(八角北路)地址好
奶茶坊(峰江店)在什么地方啊,我要过去处理事
【商汤】商汤是个什么样得人
建行银行卡,可以夸行取钱吗?
强龙灯饰地址在哪,我要去那里办事
提问 王牌对王牌第九期的舒畅介绍自己是天山
售后公房未满5年且唯一一套住房卖出需交什么
湘阴县三塘镇动物防疫站这个地址在什么地方,
柏拉图在《理想国》中将民主政体定义为:“一
朋友在说说上发表了这样一句话:“好花雨中笑
推荐资讯
中国工商银行24小时自助银行(北京重兴园支行)
商家如何支付宝收款
安阳市路成物流有限责任公司地址在什么地方,
凯里哪里有一站式汽车保养服务换机油手术费多
信用卡最低还款利息和备用金利息哪个高
准备考事业单位,管理岗和专技岗是什么意思?
奶奶真好,不论见到谁总是嘻嘻哈哈的.修改病句
维持地表温度,促进地球上水、大气运动和生物
英译汉:to enable or disable the feature o
那种接发不容易打结保持时间久
求歌名是什么:难道这叫缘份 我没想过 再遇见
设函数.则满足方程根的个数是 A.1 个 B.2
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?