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/n/131648.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
BHVRBHVR
上一篇 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

发表回复

登录后才能评论