Posted on 2010-11-07 02:08
セ軍魂ミ 閱讀(2165)
評(píng)論(0) 編輯 收藏
java關(guān)鍵字this與super的區(qū)別:
在類(lèi)的繼承下,我們會(huì)經(jīng)常用到關(guān)鍵字this和super,我在這給大家做個(gè)簡(jiǎn)單的介紹,希望可以能給大家些幫助:
關(guān)鍵字this: 是直接訪(fǎng)問(wèn)本類(lèi)中的內(nèi)容;this.本類(lèi)屬性,調(diào)用本類(lèi)中的屬性;this.本類(lèi)方法(),可以不寫(xiě)this,也表示調(diào)用本類(lèi)的;this 是訪(fǎng)問(wèn)本類(lèi)中的其他構(gòu)造,必須放在首行。
關(guān)鍵字super: 是由子類(lèi)訪(fǎng)問(wèn)父類(lèi)的內(nèi)容;super.父類(lèi)屬性,如果屬性沒(méi)有被覆寫(xiě),則也可以不寫(xiě)super;super.父類(lèi)方法(),如果方法沒(méi)有被覆寫(xiě),則可以不用 加super也表示調(diào)用父類(lèi)中的方法;super是訪(fǎng)問(wèn)父類(lèi)中的構(gòu)造方法,必須放在首行。
eg:
this
public class Person {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
//this訪(fǎng)問(wèn)的是本類(lèi)中的內(nèi)容
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
//這里我們定義一個(gè)說(shuō)話(huà)的方法
void say()
{
System.out.println("姓名:"+name+",年齡:"+age);
}
}
super
class Student extends Person{
//如果此處任何內(nèi)容都不寫(xiě),則至少應(yīng)該與Person類(lèi)的內(nèi)容一致
public Student(String name,int age,String school){
super(name,age);
//super訪(fǎng)問(wèn)的是父類(lèi)Person中的內(nèi)容
this.setSchool(school);
System.out.println("*****子類(lèi)的構(gòu)造方法****");
}
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()+",學(xué)校:"+school);
}
}