您的位置:首页 > 编程语言 > Java开发

java super和this的区别

2015-03-04 21:48 169 查看
this关键字:

this关键字从本质上讲是指向某个对象的指针,只能用于在实例方法中,不能出现在类方法中,当在方法中调用某个成员变量时,就相当于调用了this.成员变量。

this的用法:

1. this可以用来区别局部变量和成员变量,比喻this.x=x;这时候this不可以省略。

2. this(x)表示调用的是本类中的构造方法,x为构造方法的参数,但是这句必须放在第一行。

3. this可以作为调用方法的对象的引用,比喻:a.method(this);

4. this调用的始终是子类的方法。

super关键字:

super调用的是父类的方法,父类被隐藏的成员变量和方法归super所有,同this一样,super不可以用于类方法中。当子类创建一个对象时,子类的构造方法总是先调用父类的构造方法,如果子类在构造方法中没有显示的申明使用父类的哪个构造方法,java会默认的调用隐藏的super();既父类的无参构造方法。

super的用法:

1. super可以调用被子类隐藏的成员变量和方法,如果当前类是从超类继承而来的,就是调用基类的方法和变量,比喻:super.method();

2. super可以调用父类的构造方法,比喻super(x),x为父类构造方法的参数,和this一样,此语句必须放在第一行。

3. super始终调用的是基类的方法或者变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: