Posted on 2010-11-07 02:08
セ軍魂ミ 閱讀(2167)
評論(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);
}
}