在类与类发生继承的前提下,经常用到关键字super和this,对于这两者的使用也常常是困扰新手的一个问题,这里将会简单的介绍下两者的区别,希望能给大家带来帮助:
关键字:super 由子类访问父类的内容;当调用父类的属性时可以通过此方式:super.父类属性,当父类的属性没有被覆写则可以不用super,访问方法类似于属性方式为:super.父类方法()。但是访问构造函数的时候必须放在首行。
关键字:this 是直接访问本类中的内容;this.本类属性,调用本类中的属性;this.本类方法(),也可以不写this调用本类方法;this访问本类中其他构造,必须放在首行。
例如下代码:
class C3
{
String name;
int age;
public C3(String name , int age)
{
this.name = name; //this 调用本身属性
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getinfoo()
{
return "姓名"+this.name+",年龄:"+this.age;
}
}
class Student extends C3 //继承
{
public Student(String name, int age) {
super(name, age); //super 调用父类方法
}
public String getSchool() {
return school;
}
public void setSchool(String school) {
this.school = school;
}
String school;
public String getinfo()
{
return getinfoo()+",学校:"+this.school;
}
}
public class S8 {
public static void main(String args[])
{
Student s = new Student("Soap",26);
s.setSchool("Task141");
System.out.print(s.getinfo());
}
}
运行结果为:
姓名Soap,年龄:26,学校:Task141
posted on 2010-10-28 19:59
Soap MacTavish 阅读(177)
评论(0) 编辑 收藏