Java 中 this 与 super 的区别

2017-01-13 15:07:24来源:csdn作者:Google_huchun人点击

第七城市

this通常指当前对象,super则指父类的。当想要引用当前对象的某个方法,或当前对象的某个成员,就可以使用this来实现,当然,this的另一个用途是调用当前对象的另一个构造函。

1:this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this。 2:调用另一个构造方法,用法this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。 3:this.成员变量的方式来引用成员变量。(此种情况是方法中局部变量和成员变量同名的情况) 4:super(参数列表),在子类构造方法中要调用父类的构造方法是的使用方法,并且此句必须在构造方法体中的第一行。 5:super.成员变量名,来引用父类的成员变量。 6:super用来引用被屏蔽的成员变量和成员方法。 不过super是用在子类中,目的是访问直接父类中被屏蔽的成员,注意是直接父类。

super关键字: class Student { public int age; public void std(){ //声明Student类的方法std() age = 15; System.out.println(“学生平均年龄为:”+age); } }

class ThisStudent extends Student{ public int age; public void std(){ super.std();//使用super作为父类对象的引用对象来调用父类对象里面的Std()方法 age = 18; System.out.println(“这个学生的年龄为:”+age); System.out.println(super.age);//使用super作为父类对象的引用对象来调用父类对象中的age值 System.out.println(age); } }

public class TestDif { public static void main(String[] args) { ThisStudent a = new ThisStudent(); a.std(); } } 执行结果:

学生平均年龄为:15 这个学生的年龄为:18 15 18


第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台