1 super是一个关健字,全部小写。
2 super和this的对比
this:
this能出现在实例方法和构造方法中。this的语法是:"this ."、"this ( ) "
this不能使用在静态方法中。
this.大都分情况下是可以省略的。
this.什么时候不能省略呢?
在区分局部变量和实例变量的时候不能省略。
public void setNane (string nane) {
this .name=nane ;
}
this()只能出现在构造方法第一行,通过当前的构造方法去调用"本类"中[其它的构造方法,目的是:代码复用。
super:
super能出现在实例方法和构造方法中。
super的语法是:"super."、"super ( ) "
super不能使用在静态方法中。
super.大都分情况下是可以省略的。
super.什么时候不能省略呢?
在区分局部变量和实例变量的时候不能省略。
super()只能出现在构造方法第一行,通过当前的构造方法去调用"父类"中的构造方法,目的是:创建子类对象的时候,先初始化父类型特征。
super()
表示通过子类的构造方法调用父类的构造方法。
重要的结论:
当一个构造方法第一行:
既没有this ()又没有super()的话,默认会有一个super() ;表示通过当前子类的构造方法调用父类的无参数构造方法。所以必须保证父类的无参数构造方法是存在的。
注意:
this ()和super()不能共存,它们都是只能出现在构造方法第一行。