Java中super的使用_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java中super的使用

Java中super的使用

 2013/8/20 18:40:36  nubiyu  程序员俱乐部  我要评论(0)
  • 摘要:Java中除了this,还有一个关键字super,super指父类,在类的继承中有重要的作用。1.使用super访问父类的属性和方法子类自动继承父类的属性和方法(除private修饰),一般情况下,直接使用父类的属性和方法,也可使用this来指明本对象。但有时为了明确指明父类的属性和方法,使用关键字super。如:父类Person中有age属性,子类使用age,this.age,super.age来访问age是一样的:voidtestSuper(){inta;a=age;a=this.age
  • 标签:使用 Java

Java中除了this,还有一个关键字super,super指父类,在类的继承中有重要的作用。

1.使用super访问父类的属性和方法

子类自动继承父类的属性和方法(除private修饰),一般情况下,直接使用父类的属性和方法,也可使用this来指明本对象。但有时为了明确指明父类的属性和方法,使用关键字super。

如:父类Person中有age属性,子类使用age,this.age,super.age来访问age是一样的:

class="java">void testSuper(){
	int a;
	a=age;
	a=this.age;
	a=super.age;
}

?当然,使用super不能访问子类自己定义的属性和方法。

有时需要使用super来区别同名的属性和方法。使用super可以访问被子类隐藏的同名变量,或者当子类覆盖了父类的同名方法的同时,想调用父类的方法,使用super。如:

void sayHello(){
	super.sayHello();
	System.out.println("My School is"+school);
}

?

2.使用父类的构造函数

在严格意义上,构造函数不允许继承,但这并不意味着子类不能调用父类的构造方法。子类在构造方法中,可以使用super来调用父类的构造函数。

Student(String name,int age,String school){
	super(name,age);
	this.school=school;
}

?

使用时,super应放在第一句。

3.使用super的注意事项

在使用super时,super指的是调用“对象”本身,而不是指父类中看见的属性和方法。由于他指的是对象,所以不能在static的环境中使用,包括类变量(static field)和类方法(static method),static语句块。

发表评论
用户名: 匿名