java關(guān)鍵字this與super的區(qū)別:
在類的繼承下,我們會經(jīng)常用到關(guān)鍵字this和super,我在這給大家做個簡單的介紹,希望可以能給大家些幫助:
關(guān)鍵字this: 是直接訪問本類中的內(nèi)容;this.本類屬性,調(diào)用本類中的屬性;this.本類方法(),可以不寫this,也表示調(diào)用本類的;this 是訪問本類中的其他構(gòu)造,必須放在首行。
關(guān)鍵字super: 是由子類訪問父類的內(nèi)容;super.父類屬性,如果屬性沒有被覆寫,則也可以不寫super;super.父類方法(),如果方法沒有被覆寫,則可以不用 加super也表示調(diào)用父類中的方法;super是訪問父類中的構(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訪問的是本類中的內(nèi)容
}
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{
//如果此處任何內(nèi)容都不寫,則至少應該與Person類的內(nèi)容一致
public Student(String name,int age,String school){
super(name,age);
//super訪問的是父類Person中的內(nèi)容
this.setSchool(school);
System.out.println("*****子類的構(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()+",學校:"+school);
}
}
在類的繼承下,我們會經(jīng)常用到關(guān)鍵字this和super,我在這給大家做個簡單的介紹,希望可以能給大家些幫助:
關(guān)鍵字this: 是直接訪問本類中的內(nèi)容;this.本類屬性,調(diào)用本類中的屬性;this.本類方法(),可以不寫this,也表示調(diào)用本類的;this 是訪問本類中的其他構(gòu)造,必須放在首行。
關(guān)鍵字super: 是由子類訪問父類的內(nèi)容;super.父類屬性,如果屬性沒有被覆寫,則也可以不寫super;super.父類方法(),如果方法沒有被覆寫,則可以不用 加super也表示調(diào)用父類中的方法;super是訪問父類中的構(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訪問的是本類中的內(nèi)容
}
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{
//如果此處任何內(nèi)容都不寫,則至少應該與Person類的內(nèi)容一致
public Student(String name,int age,String school){
super(name,age);
//super訪問的是父類Person中的內(nèi)容
this.setSchool(school);
System.out.println("*****子類的構(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()+",學校:"+school);
}
}