1 在使用super 和 this 关键字时,以下描述中正确的是()
- A 在子类的构造方法中,使用super()显示调用父类的构造方法,super()必须写在子类的构造方法的第一行,否则编译不通过
- B super() 和 this() 不一定要放在要放在狗造方法的第一行
- C this() 和 super() 可以同时出现在一个构造函数中
D this() 和 super() 可以在static 环境中使用,包括static 和 static 语句块;
注解:
1 调用super()必须写在子类的构造方法的第一行,否则编译不通过,每个子类狗造方法的第一行条语句,都隐含的调用了父类的super(),如果,父类中有其他的参数的构造函数,而没有无参的构造函数,此时,就会出现错误,编译器会报错。***** 2 super()和 this()类似,区别是,super从子类中调用父类的构造方法,this()是在同一个类中,调用本类的其他构造方法。如:一个类中有一个无参的构造方法和一个有参的构造方法,此时无参的构造方法,可以调用 有参的构造犯法 ,当然,有参的构造方法也可以调用无参的构造方法,此时可以在函数体的第一行直接调用this(); 3 super()和this()调用均需放在构造方法的第一行。 4 this()和super() 不能同时出现在一个构造函数中,因为如果同时出现在一个构造函数中,此时的this 会必然调用其父类的构造函数但是,此时就会有两个super()函数被调用,出现相同的语句,编译器不会通过。 5 this() 和 super()都指的是对象(构造对象),所以,均不可以