在Java中的super()必须是子类构造方法中的第一个执行语句?可以举个例子来说明一下吗?
3个回答
展开全部
如果写的话,super();必须是子类构造方法中的第一个执行语句,当然也可以不写,例如:
public class A{
public void foo(){}
class B extends A{
public B(){
super();
//
//
}
}
}
public class A{
public void foo(){}
class B extends A{
public B(){
super();
//
//
}
}
}
追问
我想问一下的是:那个必须是第一个执行语句,是不是就是说,只能放在第一位啊?比如说:
public class A{
public void foo(){}
class B extends A{
public B(String name){
super();
this.name=name;//这个是否可以放在super()的前面?
....
追答
是的,只要写super(),就必须放在第一位,如果你不写的话,系统默认super()就是在第一位。
展开全部
子类 调用构造方法初始化的时候,需要先调用他的父类的构造方法在调用自己的构造方法,这样可以保证,正确初始化,,
追问
嗯嗯,但有些模糊,可以举个实例来说明一下么?举例说明一下,谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是必须的,这个是基础知识里提到的,像是一种规则吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询