java中,子类能不能继承父类的构造方法??

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:13:17
我们老师讲说不能继承,但又说父类一般要有个无参的构造方法,如果没有用super()继承,到底是什么呀!!!崩溃....崩溃.....

什么时候用继承?什么时候用多态呀????
越详细越好!谢谢!!!!!!!!

你老师是对的,不过一下子说不清楚。给你个例子。
class A{
public A(){} // 1:无参数构造方法。
public A(String s){} // 2.
}

class B extends A{
public B(String s){
super(s); // 3.
}
}

说明:如果没有1处的无参数构造方法,那么3处一定要主动调用父类带参数的构造方法。
如果有1处的构造方法,那么3处代码可以不要,因为Java会自动默认调用父类的无参数构造方法。

记住一点:在构造子类时,一定会调用到父类的构造方法。
所以父类要么有一个默认的无参数构造,这样Java会自动调用这个无参数的构造。如果父类没有无参数的构造,那么就要你自己在子类的构造中,通过super()的方式调用父类的构造。

父类的构造方法不用继承,我们可以用super来调用,如父类的构造方法为:public A(){};那么子类调用为super();如果为public A(int a);那么子类调用为super(1);

父类一般要有一个无参数的构造方法是因为我们的子类如果没有显性的调用父类的构造函数的话就会默认加入super();即调用父类的无参数构造函数,当父类没有无参数构造函数就会报错哦,这就是要加入一个无参数构造函数的原因。

JAVA的一些东西都好抽象的,自己好好理解吧。
另外欢迎访问我的个人网站:junqing124.vip2.upftp.co,

    概述:子类默认会调用父类的隐士的构造方法,如代码:

public class Person{
    
}
public class ZhangSan extends Person{
    public&nbs