Java面向对象案例之描述专业和学生(4)

类的方法图

  • 学生类:
    • 属性:学号,姓名,年龄,所学习的专业
    • 方法:学习的方法,描述学习状态。描述内容包括姓名、学号、年龄、所学习的专业信息
  • 专业类:
    • 属性:专业编号,专业名称 、学习该专业的人数
    • 方法:介绍情况的方法,描述专业信息。描述内容包括专业名称以及学习该专业的人数
  • 测试类:
    • 创建测试数据

在这里插入图片描述

代码示例

public class TestCase {public static void main(String[] args) {/*** 1、学校开设某专业课程*///构造专业对象Subject one = new Subject();one.setSubjectId("001");one.setSubjectName("计算机科学与应用");/*** 2、学生进入专业学习*///构造学生对象Student liuXin = new Student();liuXin.setStuName("张三");liuXin.setStuAge(16);liuXin.setMySubject(one);liuXin.setStuId("C100101");//调用学习方法liuXin.study();System.out.println("===================================");//构造学生对象Student tianMeng = new Student();tianMeng.setStuId("C100102");tianMeng.setStuName("李四");tianMeng.setStuAge(21);tianMeng.setMySubject(one);//调用学习方法tianMeng.study();System.out.println("===================================");/*** 3、统计本专业的人数*///调用专业的介绍方法*/one.info();}
}/*** 专业类:* 属性:专业编号,专业名称 、学习该专业的人数* 方法:介绍情况的方法,描述专业信息。描述内容包括专业名称以及学习该专业的人数*/
class Subject {private String subjectId;// 专业编号private String subjectName;//班级名称private int number;//班级人数//介绍情况的方法,描述专业信息。描述内容包括专业名称以及学习该专业的人数public void info() {System.out.println(this.subjectName + "专业目前有" + this.number + "名学生");}public String getSubjectId() { return subjectId; }public void setSubjectId(String subjectId) { this.subjectId = subjectId; }public String getSubjectName() { return subjectName; }public void setSubjectName(String subjectName) { this.subjectName = subjectName; }public int getNumber() { return number; }public void setNumber(int number) { this.number = number; }
}/*** 学生类:* 属性:学号,姓名,年龄,所学习的专业* 方法:学习的方法,描述学习状态。描述内容包括姓名、学号、年龄、所学习的专业信息*/
class Student {private String stuId;// 学号private String stuName;// 姓名private int stuAge;// 年龄private Subject mySubject;// 所学习的专业// 学习的方法,描述学习状态。描述内容包括姓名、学号、年龄、所学习的专业信息public void study() {String msg = "我叫" + this.stuName + ",今年" + this.stuAge + "岁\n现在就读于" + this.mySubject.getSubjectName() + "专业,我的学号是" + this.stuId;System.out.println(msg);}//学生年龄大于18岁public void setStuAge(int stuAge) {if (stuAge < 18) {System.out.println("本大学只收取18岁以上的学生");this.stuAge = 18;} elsethis.stuAge = stuAge;}//每产生一名学员,专业人数加1public void setMySubject(Subject mySubject) {//获取该专业已有学生人数int number1 = mySubject.getNumber();//修改学生人数number1++;mySubject.setNumber(number1);//设置专业信息this.mySubject = mySubject;}public String getStuId() { return stuId; }public void setStuId(String stuId) { this.stuId = stuId; }public String getStuName() { return stuName; }public void setStuName(String stuName) { this.stuName = stuName; }public int getStuAge() { return stuAge; }public Subject getMySubject() { return mySubject; }
}

运行截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/277217.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 3中的reactive:响应式状态的全面管理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【计算机视觉】二、图像形成——实验:2D变换编辑(Pygame)

文章目录 一、向量和矩阵的基本运算二、几何基元和变换1、几何基元(Geometric Primitives)2、几何变换(Geometric Transformations)2D变换编辑器0. 程序简介环境说明程序流程 1. 各种变换平移变换旋转变换等比缩放变换缩放变换镜像变换剪切变换 2. 按钮按钮类创建按钮 3. Pygam…

基于PHP的数字化档案管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的数字化档案管理系统 一 介绍 此数字化档案管理系统基于原生PHP&#xff0c;MVC架构开发&#xff0c;数据库mysql&#xff0c;前端bootstrap。系统角色分为用户和管理员。 技术栈 php(mvc)mysqlbootstrapphpstudyvscode 二 功能 …

SwiftUI的Alert使用方式

SwiftUI的Alert使用方式 记录一下SwiftUI的Alert使用方式&#xff0c;比较简单直接上代码 import SwiftUIstruct AlertBootCamp: View {State var showAlert falsevar body: some View {Button {showAlert.toggle()} label: {Text("alert show")}/// 单按钮 // …

python知识点总结(一)

这里写目录标题 一、什么是WSGI,uwsgi,uWSGI1、WSGI2、uWSGI3、uwsgi 二、python中为什么没有函数重载&#xff1f;三、Python中如何跨模块共享全局变量?四、内存泄露是什么?如何避免?五、谈谈lambda函数作用?六、写一个函数实现字符串反转&#xff0c;尽可能写出你知道的所…

面试官:volatile如何保证可见性的,具体如何实现?

写在开头 在之前的几篇博文中&#xff0c;我们都提到了 volatile 关键字&#xff0c;这个单词中文释义为&#xff1a;不稳定的&#xff0c;易挥发的&#xff0c;在Java中代表变量修饰符&#xff0c;用来修饰会被不同线程访问和修改的变量&#xff0c;对于方法&#xff0c;代码…

电脑自带dll修复在哪里打开呢?马上教会你

由于各种原因&#xff0c;电脑可能会出现一些问题&#xff0c;其中之一就是dll文件丢失。Dll文件是动态链接库文件&#xff0c;它们包含了许多程序运行所需的函数和资源。当这些文件丢失或损坏时&#xff0c;可能会导致程序无法正常运行或出现错误提示。本文将介绍电脑dll文件丢…

Fork - 将 GitHub 的某个特定仓库复制到自己的账户下

Fork - 将 GitHub 的某个特定仓库复制到自己的账户下 1. ForeverStrongCheng/OpenCV-tutorials2. Fork -> ForeverStrongCheng/R2CNN_Faster-RCNN_TensorflowReferences 访问仓库页面&#xff0c;点击 Fork 按钮创建自己的仓库。 Fork 是将 GitHub 的某个特定仓库复制到自己…

C语言内存函数详解

文章目录 前言一、memcpy函数&#xff08;内存拷贝函数&#xff09;二、memmove重叠拷贝函数三.memset内存设置函数四.memcmp内存比较函数总结 前言 我们之前按学习了C语言标准库中提供了一系列的字符和字符串库函数&#xff0c;接下来我们就学习一下关于内存相关的一些函数。…

LeetCode 面试经典150题 26.删除有序数组中的重复项

题目&#xff1a; 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量…

AVCE - AV Evasion Craft Online 更新 8 种加载方式 - 过 WD 等

免责声明&#xff1a;本工具仅供安全研究和教学目的使用&#xff0c;用户须自行承担因使用该工具而引起的一切法律及相关责任。作者概不对任何法律责任承担责任&#xff0c;且保留随时中止、修改或终止本工具的权利。使用者应当遵循当地法律法规&#xff0c;并理解并同意本声明…

【Linux-网络编程】

Linux-网络编程 ■ 网络结构■ C/S结构■ B/S结构 ■ 网络模型■ OSI七层模型■ TCP/IP四层模型 ■ TCP■ TCP通信流程■ TCP三次握手■ TCP四次挥手 ■ 套接字&#xff1a;socket 主机IP 主机上的进程&#xff08;端口号&#xff09;■ TCP传输文件 ■ 网络结构 ■ C/S结构…

基于java+springboot开发的计算机毕业设计网文论坛管理系统设计与实现【附源码】

基于javaspringboot开发的计算机毕业设计网文论坛管理系统设计与实现【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联…

JavaScript 基础知识

一、初识 JavaScript 1、JS 初体验 JS 有3种书写位置&#xff0c;分别为行内、内部和外部。 示例&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"wid…

深入了解 大语言模型(LLM)微调方法

引言 众所周知&#xff0c;大语言模型(LLM)正在飞速发展&#xff0c;各行业都有了自己的大模型。其中&#xff0c;大模型微调技术在此过程中起到了非常关键的作用&#xff0c;它提升了模型的生成效率和适应性&#xff0c;使其能够在多样化的应用场景中发挥更大的价值。 那么&…

pta上的几个例题

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

Git学习记录

目录 Git Git介绍 版本控制 版本控制工具 集中式版本控制工具 分布式版本控制工具 Git工作机制 ​编辑 Git和代码托管中心 Git安装 Git常用命令 设置用户签名 初始化本地库 查看本地库状态 添加到暂存区 提交到本地库 修改文件 历史版本 查看历史版本 版本…

【系统架构师】-第3章-信息系统基础知识

1、信息系统的基本功能 输入&#xff1a;决定于系统所要达到的目的及系统的能力和信息环境的许可存储&#xff1a;存储各种信息资料和数据的能力处理&#xff1a;数据处理工具&#xff0c;利用OLAP、DM&#xff08;数据挖掘&#xff09;技术输出&#xff1a;保证最终实现最佳的…

SQLiteC/C++接口详细介绍之sqlite3类(八)

返回目录&#xff1a;SQLite—免费开源数据库系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;七&#xff09; 下一篇&#xff1a; SQLiteC/C接口详细介绍之sqlite3类&#xff08;八&#xff09;&#xff08;暂未发表&#xff09; 24.sqlite3_cr…

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 2、线条平滑曲面但有间隔

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata imp…