java繼承——對物件中的重複內容說Bye

張咕咚發表於2020-10-10

概念

父類與子類的關係可以理解為師父與弟子的關係,弟子100%繼承師父的技術,並且發掘出新的特長

在這裡插入圖片描述

格式

父類

public class Employee(){

}

子類

public class Teacher extends Employee(){
}

例項

父類

package y20.m9.inherit;

/**
 * @author WuZS
 * @date 2020/10/10 20:38
 */
public class Employee {
    public String name;
    public int id;

    public void method(){
        System.out.print("我是員工類的方法");
    }
}

子類1

package y20.m9.inherit;

/**
 * @author WuZS
 * @date 2020/10/10 20:40
 */
public class Teacher extends Employee{
    public String teacherWork;
}

子類2

package y20.m9.inherit;

/**
 * @author WuZS
 * @date 2020/10/10 20:39
 */
public class Assistant extends Employee {
    public String assistantWork;
}

主控類

package y20.m9.inherit;

/**
 * @author WuZS
 * @date 2020/10/10 20:45
 */
public class Console {
    public static void main(String[] args) {
        Teacher teacher=new Teacher();
        Assistant assistant =new Assistant();
//        兩個子類裡並沒有定義method()方法,卻可以使用這個方法,因為兩個子類都繼承了父類Employee的內容
//        main()是一個靜態方法,不能直接訪問非靜態的方法,要通過物件間接訪問
        assistant.method();
        teacher.method();

//        下例可見,繼承通過共享父類節省類子類重複程式碼的記憶體開銷
        teacher.id=999;
        teacher.name="LiMing";
        teacher.teacherWork="Math";

        assistant.id=888;
        assistant.name="LiHong";
        assistant.assistantWork="solving Problem After lesson";

        System.out.println("\n"+teacher.id+ teacher.name+ teacher.teacherWork);
        System.out.println("\n"+assistant.id+ assistant.name+assistant.assistantWork);

    }

}

相關文章