问答详情
源自:1-5 Java 中的异常抛出以及自定义异常

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

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

提问者:真物0 2016-04-23 20:13

个回答

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

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

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

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

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

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