隨堂筆記160308繼承

一.繼承:

class Person{
    private String name;
    private String gender;

    public Person(){
        System.out.println("父類的構造方法");
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }

    public void setGender(String gender){
        this.gender =gender;
    }
    public String getGender(){
        return gender;
    }

    public void eat(){
        System.out.println("食物");
    }
}

class Student extends Person{
    //創建了一個Person的的子類
}

public class Test{
    public static void main(String[] args){
        Student s = new Student();      //創建一個學生類
        //System.out.println(s.name);   輸出錯誤,因爲父類的name是私有屬性
    }
}

1.注意事項:

  1. 繼承不能繼承父類的私有屬性
  2. 子類在實例化的過程中會自動調用父類的無參構造方法
  3. JAVA中不存在多繼承(即一個子類只有一個父類),但可以多層次繼承
  4. 如果重寫了父類的方法,在子類裏調用父類中被重新的方法需要加super.methodName()
  5. 子類重寫方法後,調用重寫方法加this.methodName()
  6. 子類的權限不能小於父類的權限
  7. 靜態只能覆蓋靜態(因爲類方法、類屬性在重寫後如果變成了動態的,違背父類)
  8. 所有的類的間接或直接根類是Object類
  9. 輸出實例將會輸出該實例的toString()的返回值
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章