这两者大概的区分
this指的是当前对象的引用,super是当前对象里面的父对象的引用。
两者的用法及区别用一个例子来讲
class Student {
public int age;
public void student(){ //声明Student类的方法student()
age = 15;
System.out.println("学生平均年龄为:"+age);
}
}
class ThisStudent extends Student{
public int age;
public void student(){
super.student(); //使用super作为父类对象的引用对象来调用父类对象里面的方法
age = 18;
System.out.println("这个学生的年龄为:"+age);
System.out.println("这个学生的年龄为:"+super.age); //使用super作为父类对象的引用对象来调用父类对象中的age值
System.out.println(age);
}
}
最后的输出结果为
学生平均年龄为:15
这个学生的年龄为:18
这个学生的年龄为:15
可以看到最后一个输出使用super继承的是其父类的属性,则还是age为15
网友评论