为什么要定义1个无参构造器?

来源:1-5 Java 中的异常抛出以及自定义异常

真物0

2016-04-23 20:13

如果是继承父类的无参构造器就是exception(){};我可以理解成只是覆盖一个父类的无参数构造器吗?

写回答 关注

2回答

  • kalick
    2016-04-23 21:47:01
    已采纳

    构造函数是没法继承的。因为构造函数不属于对象,是属于类的,相当于构造函数的方法中隐藏了一个static关键字,是没有多态的。

    就拿你写的例子来举例:当子类DrunkException中没有自己写构造函数的时候,系统会自动生成一个默认的无参构造函数,public DrunkException(){} ,(注意:这是一个新的专属于子类DrunkException的无参构造函数,而不是继承的父类的构造函数!)

    你可以在子类中调用父类的构造函数,但是是继承不了的。

    kalick 回复真物0

    有兴趣的可以看下《java编程思想》中的构造器的那节,讲的很详细。

    2016-04-27 19:46:03

    共 2 条回复 >

  • 慕丝2536941
    2016-04-23 20:29:52

    因为已经有了一个有参构造方法,系统不会自动生成无参的构造方法,需要手动做一个无参的构造方法供使用。

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题