原文:为什么java的构造方法中this()或者super()要放在第一行

java的构造方法中如果自己显性的调用super 的时候一定要放在第一行,如不是的话就会报错。 为什么一定要在第一行 super 在第一行的原因就是: 子类有可能访问了父类对象, 比如在构造函数中使用父类对象的成员函数和变量, 在成员初始化使用了父类, 在代码块中使用了父类等, 所以为保证在子类可以访问父类对象之前要完成对父类对象的初始化 this 在第一行的原因就是: 为保证父类对象初始化的唯一 ...

2016-07-27 18:14 0 9170 推荐指数:

查看详情

为什么java构造方法this()或者super()要放在第一行

看Head First Java 256页 ,书中提到“this()只能用在构造函数,且它必须是第一行语句!”,不明白原因,查资料发现知乎已经有相关问题,搬运过来做个记录。 https://www.zhihu.com/question/47012546 ...

Mon Aug 19 15:24:00 CST 2019 0 714
java 构造方法super()和this()

1)super(参数):调用基类的某一个构造函数(应该为构造函数第一条语句) 2)this(参数):调用本类另一种形成的构造函数(应该为构造函数第一条语句) 3)super: 它引用当前对象的直接父类的成员(用来访问直接父类中被隐藏的父类成员数据或函数,基类与派生类中有相同 ...

Thu Dec 20 03:35:00 CST 2018 0 629
java 构造方法super()的作用?

手贱百度了一下 :java里面自定义类的有参构造方法为什么不用super() 举个例子: 如果只是这样,那么构造Son之前会在后台调用一下super()函数,调用过程你看不到,但是确实执行了,结果是先father后son但是这种时候你显示的写个super就没有意义 ...

Sun Apr 30 07:29:00 CST 2017 0 4605
为什么java构造函数的构造器只能在第一行写this() 或者super() ?

最近在看内部类, 但是被“为什么匿名内部类或者局部内部类使用方法的局部变量时, 局部变量一定得是final类型”困扰着, 在网上查找资料的时候, 发现我对类初始化完全不了解, 之前的认识都是错误! 所以回头又看了看基础的初始化, 在看初始化的时候, 就发现一点, 就是“为什么只能在构造器的第一行写 ...

Sat Mar 28 05:42:00 CST 2015 0 4200
构造方法super()的作用

复习:名称Java继承,子类实例化时,调用父类的无参构造方法https://blog.csdn.net/Peng_Hong_fu/article/details/52862300 在类的继承,子类的构造方法默认会有super()语句存在,相当于执行父类的相应构造方法的语句 如下面代码 ...

Fri Jul 09 19:34:00 CST 2021 0 173
Java构造方法

Java构造方法构造器) 定义 一个在创建对象时自动被调用的特殊方法 作用 为对象进行初始化(成员变量)工作,即初始化类对象的属性,而构造对象是通过new关键字 特征 构造器是一种特殊的方法 构造方法的名称必须跟类名保持一致 构造方法虽然有返回值(返回一个已经初始化好 ...

Wed Apr 17 02:11:00 CST 2019 0 2747
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM