java父类的构造方法子类不能继承那子类能有构造方法吗?
推荐于2016-10-01
展开全部
这个是摘别人的,不过讲的很清楚。
你老师是对的,不过一下子说不清楚。给你个例子。
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()的方式调用父类的构造。
你老师是对的,不过一下子说不清楚。给你个例子。
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()调用,不过此语句必须是构造子的第一个语句。
像这样的问题,可以自己写实例测试的。
像这样的问题,可以自己写实例测试的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
肯定必须有啊,没有你怎么实例化,不显示的写构造函数,java在实例化的时候就会调用默认的构造方法,A a =new A();
后面的A()就是他的默认构造函数
后面的A()就是他的默认构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-17
展开全部
构造函数本来就无法继承,即使是public的。所以子类不能有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
每个类都有构造方法,你不定义的话,系统会有默认的。
子类可以调用父类的构造方法。
子类可以调用父类的构造方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询