Java 學生類與教師類詳解

一、學生類

Java 學生類是一個常用的對象類,封裝了學生的信息,包括姓名、年齡、性別等屬性。因為學生類涉及到對象和屬性的封裝,因此使用面向對象的思想來進行設計。

1、屬性欄位

public class Student {
    private String name; // 姓名
    private int age; // 年齡
    private char gender; // 性別
    private String id; // 學號
    private String major; // 專業
}

2、構造函數

public class Student {
    // 構造函數1:不帶參數
    public Student() {}
    // 構造函數2:帶參數
    public Student(String name, int age, char gender, String id, String major) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.id = id;
        this.major = major;
    }
}

3、獲取屬性方法

public class Student {
    // 獲取姓名
    public String getName() {
        return name;
    }
    // 獲取年齡
    public int getAge() {
        return age;
    }
    // 獲取性別
    public char getGender() {
        return gender;
    }
    // 獲取學號
    public String getId() {
        return id;
    }
    // 獲取專業
    public String getMajor() {
        return major;
    }
}

二、教師類

Java 教師類也是一個常用的對象類,封裝了教師的信息,包括姓名、年齡、性別、工號、所教科目等屬性。同樣是因為教師類涉及到屬性的封裝,因此同樣可以使用面向對象思想進行設計。

1、屬性欄位

public class Teacher {
    private String name; // 姓名
    private int age; // 年齡
    private char gender; // 性別
    private String id; // 工號
    private String subject; // 教授科目
}

2、構造函數

public class Teacher {
    // 構造函數1:不帶參數
    public Teacher() {}
    // 構造函數2:帶參數
    public Teacher(String name, int age, char gender, String id, String subject) {
        this.name = name;
        this.age = age;
        this.gender = gender;
        this.id = id;
        this.subject = subject;
    }
}

3、獲取屬性方法

public class Teacher {
    // 獲取姓名
    public String getName() {
        return name;
    }
    // 獲取年齡
    public int getAge() {
        return age;
    }
    // 獲取性別
    public char getGender() {
        return gender;
    }
    // 獲取工號
    public String getId() {
        return id;
    }
    // 獲取教授科目
    public String getSubject() {
        return subject;
    }
}

三、學生類與教師類的繼承關係

學生類和教師類都涉及到人員信息的封裝,因此在面向對象的設計中可以使用繼承關係來進行封裝。

1、父類 Person

public class Person {
    protected String name; // 姓名
    protected int age; // 年齡
    protected char gender; // 性別
    
    // 構造函數1:不帶參數
    public Person() {}
    // 構造函數2:帶參數
    public Person(String name, int age, char gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }
    
    // 獲取姓名
    public String getName() {
        return name;
    }
    // 獲取年齡
    public int getAge() {
        return age;
    }
    // 獲取性別
    public char getGender() {
        return gender;
    }
}

2、學生類 Student 繼承自 Person 父類

public class Student extends Person {
    private String id; // 學號
    private String major; // 專業

    // 構造函數1:不帶參數
    public Student() {}
    // 構造函數2:帶參數
    public Student(String name, int age, char gender, String id, String major) {
        super(name, age, gender);
        this.id = id;
        this.major = major;
    }

    // 獲取學號
    public String getId() {
        return id;
    }
    // 獲取專業
    public String getMajor() {
        return major;
    }
}

3、教師類 Teacher 繼承自 Person 父類

public class Teacher extends Person {
    private String id; // 工號
    private String subject; // 教授科目

    // 構造函數1:不帶參數
    public Teacher() {}
    // 構造函數2:帶參數
    public Teacher(String name, int age, char gender, String id, String subject) {
        super(name, age, gender);
        this.id = id;
        this.subject = subject;
    }

    // 獲取工號
    public String getId() {
        return id;
    }
    // 獲取教授科目
    public String getSubject() {
        return subject;
    }
}

四、學生類與教師類的應用舉例

學生類和教師類的應用非常廣泛。我們可以在學校管理系統中使用學生類來完成學生信息的管理,而教師類則可以用來管理教師信息。下面給出一個簡單的例子,使用學生類和教師類來表示學生和教師信息。

import java.util.ArrayList;

public class SchoolManagementSystem {
    private ArrayList students; // 所有學生
    private ArrayList teachers; // 所有教師

    // 構造函數
    public SchoolManagementSystem() {
        students = new ArrayList();
        teachers = new ArrayList();
    }

    // 添加學生
    public void addStudent(String name, int age, char gender, String id, String major) {
        Student student = new Student(name, age, gender, id, major);
        students.add(student);
    }

    // 添加教師
    public void addTeacher(String name, int age, char gender, String id, String subject) {
        Teacher teacher = new Teacher(name, age, gender, id, subject);
        teachers.add(teacher);
    }

    // 獲取所有學生
    public ArrayList getAllStudents() {
        return students;
    }

    // 獲取所有教師
    public ArrayList getAllTeachers() {
        return teachers;
    }
}

原創文章,作者:BHVR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/131648.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BHVR的頭像BHVR
上一篇 2024-10-03 23:46
下一篇 2024-10-03 23:46

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論