this关键字:
this关键字代表的是某个对象,this只可以出现在实例方法中,不可以出现在类方法中,this.varibly代表的是使用本类的成员变量,但是可以省略,因此在给成员变量赋值的时候,可以不用写this,但是如果有把一个同名的局部变量赋给该成员变量,就必须使用this关键字,也就是this区别成员变量和局部变量。
this的使用:
1. this(x)表示调用子类中的构造器,但是this(x)必须写在方法的第一行。
2. this.x表示调用成员变量,成员变量在实例方法中默认的格式是:this.成员变量。 3. this不可以在类方法中使用,this可以表示当前调用方法对象的引用
4. this总是表示的子类对象,从本质上讲,this是一个指向本对象的指针。
super关键字:
super只是java的一个关键字,它可以操作被影藏的成员变量和方法。
super的使用:
1. super(x)表示调用父类的构造器,这种用法和this类似,但是必须写在第一句。
2. 子类创建对象的时候总是会先调用父类的构造方法,如果不明显的指定掉用哪个构造方法,就会默认的调用父类的无参构造方法,并且是super (),也就是子类的构造方法第一句都是隐含的调用了super().
3. super可以操作父类被子类隐藏的成员变量和方法,例如:super.x和super.method(),如果该类从超类继承来的,那么super.method()表示调用 基类的方法。
4. 同this关键字,super也不可以使用在类方法中。