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

Java中this和super关键字的区别

2016-11-12 14:52 281 查看
this强调的是对象的本身,通过this调用的属性和方法都是它所属于的那个类中的属性和方法。属于对象和类间的关系

super在子类中调用父类的方法和属性。属于子类和父类两个类间的关系

//父类
public abstract class AbstractPerson {
int age;
public AbstractPerson(int age) {
//调用本类中的构造方法
this(age);
//调用本类中的属性
this.age = age;
System.out.println("父类构造方法");
}
public AbstractPerson() {
}
}


//子类
public class Student extends AbstractPerson{
public Student(int age) {
//父类的构造方法
super(age);
//父类中的属性
super.age=1;
// TODO Auto-generated constructor stub
}


this和super在调用构造方法的时候必须都要放在第一行,而且只能是在一个构造方法中调用另外一个构造方法才能使用。由于子类的构造方法必须要调用父类的构造方法,所以子类的构造方法中只能出现super()调用父类构造方法的情况
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java this和super