探索吧 > 百科 > super方法必须在子类构造方法中的第一行

super方法必须在子类构造方法中的第一行

导读java关于继承,构造方法的调用 我的一个继承老是说找不到符号,为什么 问题二 super的用法最佳答案你的父类写了有参构造方法后,你没写无参构造方法,而调用子类构造方法时要调用...

今天探索吧就给我们广大朋友来聊聊super方法,以下关于观点希望能帮助到您找到想要的答案。

java关于继承,构造方法的调用 我的一个继承老是说找不到符号,为什么 问题二 super的用法

最佳答案你的父类写了有参构造方法后,你没写无参构造方法,而调用子类构造方法时要调用父类的构造方法,默认的是调用无参构造方法,而你父类中没有无参构造方法,所以报错;

当你在父类写上无参构造方法后,就不会报错了 ;你在子类构造方法里写上父类有的有参构造方法,父类里有 也不会报错,就通过编译了

调用父类的构造方法 只能在子类的构造方法里 ,而且是在子类构造方法的第一行;在其他方法里就会报错了

super 在构造方法里能调用父类的构造方法,只能写在第一行

用法:super(); super(参数列表)

在其他(不包括主方法)里可以调用父类的方法

用法:super.父类的方法名(有参数的参数写在这括号里); super.属性名;

方法名和属性名都是非私有的才能被调用

JAVA中子类用SUPER调用父类的构造方法,一定要把SUPER放在第一行吗?

最佳答案你不写默认是在第一行系统有会加上的。 创建子类对象时,调用子类构造方法之前会先调用父类构造方法,如果有父类一直追溯到Object类,它是祖宗类,哈哈

如果你不写第一行,默认你是可以写一个继承过来的属性赋值的,尽管你认为你可以不这样写,但是系统为了以防万一有人这么干,所以super要在第一行,如果不在第一行,你写了个继承来的属性,那这时候没调用super,还没那个属性呢。 因为都是实例属性,必须先有实例,才能使用。

关于java的问题,为什么“Super必须是子类的第一条语句”?

最佳答案super具体的说就是父类的对象,既然是父类的对象一般情况下自然可以想对象一样使用,

比如直接调用匪类的一些方法变量等(如:super.math();再如super.variable;)

而放在构造方法中的第一句调用父类的构造方法:如下:

chass

Father

{

public

Father()

{

}

}

chass

Son

extends

Father

{

public

Son()

{

super();//这里就是调用了父类的无参数的构造方法。它必须放在子类的构造方法的有效代码的

//第一句(重点1,放在子类的构造方法中。重点2,必须是有效代码的第一句)

System.Out.Println("第一句是掉用父类的方法,下面的就是子类的初始化了");

}

}

补充:如果要调用父类的含参数的构造方法,则子类的super();括号中就要传入相应的参数

虽然我们无法避免生活中的问题和困难,但是我们可以用乐观的心态去面对这些难题,积极寻找这些问题的解决措施。探索吧希望super方法必须在子类构造方法中的第一行,能给你带来一些启示。

本文来自网络,不代表本站立场,转载请注明出处:https://www.tsc-b.com/baike/128784.html

作者: 探索吧

探索吧为您提供最全面的生活百科网站大全,主要为您提供数码、汽车、财经、美食、财经、科技、健康、教育、创业、电商、影视、百科等资讯信息,在这里可以找到您所需的答案,解决您所困惑的问题。
帕劳旅游团
衡水二建费用!二建考试多少考试费用?
联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部