java中,子类初始化时一定要调用父类的构造方法,不调用行吗?
7个回答
展开全部
不行的 你想一下,子类继承了父类的各种属性,而构造方法则相当于把父类给实例化出来,如果你子类实例化的时候不调用父类的构造方法,相当于子类压根就没有父亲,又怎么谈得上继承呢?
另外,抽象类是例外,因为抽象类是没有构造方法的,无法实例化
另外,抽象类是例外,因为抽象类是没有构造方法的,无法实例化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果父类的构造方法是带参数的,而且没有无参数的构造方法,那么在子类的构造方法中必须显式地调用父类的构造方法。
如果父类的构造方法是无参数的,那么在子类中写不写都可以,不写的话会隐式地调用。
如果父类的构造方法是无参数的,那么在子类中写不写都可以,不写的话会隐式地调用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
随便你怎么样,它都会调用.因为在继承之后的构造方法里面,默认的会调用,你如果不写,只是你看不到而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果需要调用superclass的带参构造器,那么就需要在子类构造器里显式调用(比如:super(括号里是参数))
那么对于superclass的无参构造器呢,当我们没有任何对于父辈构造器的显式调用时,系统就会自动帮在第一行加一个super(); (就是调用父辈的无参构造器)
那么,因为只有没有任何显式调用时才会自动调用无参构造器,所以我想到的是 可不可以在superclass里添加一个没有任何代码的空的带参构造器 让子类主动去调用它,这样看起来就会像 没有调用父类的构造方法一样了。
(不知道这样做可不可以 求路过的大佬多多指教
那么对于superclass的无参构造器呢,当我们没有任何对于父辈构造器的显式调用时,系统就会自动帮在第一行加一个super(); (就是调用父辈的无参构造器)
那么,因为只有没有任何显式调用时才会自动调用无参构造器,所以我想到的是 可不可以在superclass里添加一个没有任何代码的空的带参构造器 让子类主动去调用它,这样看起来就会像 没有调用父类的构造方法一样了。
(不知道这样做可不可以 求路过的大佬多多指教
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询