Posted on 2010-11-07 02:08
セ军魂ミ 阅读(2158)
评论(0) 编辑 收藏
java关键字this与super的区别:
在类的继承下,我们会经常用到关键字this和super,我在这给大家做个简单的介绍,希望可以能给大家些帮助:
关键字this: 是直接访问本类中的内容;this.本类属性,调用本类中的属性;this.本类方法(),可以不写this,也表示调用本类的;this 是访问本类中的其他构造,必须放在首行。
关键字super: 是由子类访问父类的内容;super.父类属性,如果属性没有被覆写,则也可以不写super;super.父类方法(),如果方法没有被覆写,则可以不用 加super也表示调用父类中的方法;super是访问父类中的构造方法,必须放在首行。
eg:
this
public class Person {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
//this访问的是本类中的内容
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//这里我们定义一个说话的方法
void say()
{
System.out.println("姓名:"+name+",年龄:"+age);
}
}
super
class Student extends Person{
//如果此处任何内容都不写,则至少应该与Person类的内容一致
public Student(String name,int age,String school){
super(name,age);
//super访问的是父类Person中的内容
this.setSchool(school);
System.out.println("*****子类的构造方法****");
}
private String school;
public void setSchool(String school){
this.school=school;
}
public String getSchool()
{
return this.school;
}
public void fun(){
setName("zhijun");
setAge(21);
}
public void print(){
System.out.println(getlnfo()+",学校:"+school);
}
}