天天看點

繼承

/*
目前存在的問題:
    1. 無法描述清楚這兩個類之間的繼承關系。
    2. 存在着重複代碼。

面向對象的三大特征:
    1. 封裝
    2. 繼承
    3. 多态.

繼承:繼承是通過關鍵字extends展現的。

繼承的格式:

    class 類名1 extends 類名2{
    
    }


繼承要注意的事項:
    1. 千萬不要為了減少重複代碼而去繼承,隻有真正存在着繼承關系的時候才去繼承。
    2. 父類私有的成員不能被繼承。
    3. 父類的構造函數不能被繼承。
    4. 建立子類對象時預設會先調用父類無參的構造函數。

      

    疑問: 為什麼要調用父類的構造方法啊?這樣子做的意義在那?

*/
//人類 
class Person{
    
    String name;

    private    int age;

    public  Person(String name){
        this.name = name;
    }

    public Person(){
        System.out.println("Person類的構造方法被調用了....");
    }

    public void eat(){
        System.out.println(name+"在吃飯...");
    }
}

//學生類
class Student extends Person {  // Student 就稱作為Person類的子類, Person類就稱作為Student的父類(超類、基類)

    int num; //學号

    public Student(){
        System.out.println("Student類的構造方法被調用了....");
    }

    public void study(){
        System.out.println(name+"good good study , day day up");
    }    
}




class Demo7 
{
    public static void main(String[] args) 
    {
        Student s = new Student();
        
        /*
        s.name = "狗娃";
        System.out.println("名字:"+ s.name);
        s.eat();
        */
    }
}      

繼續閱讀