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.mzph.cn/news/749370.shtml

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

相关文章

2024年【天津市安全员C证】考试资料及天津市安全员C证考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 天津市安全员C证考试资料根据新天津市安全员C证考试大纲要求&#xff0c;安全生产模拟考试一点通将天津市安全员C证模拟考试试题进行汇编&#xff0c;组成一套天津市安全员C证全真模拟考试试题&#xff0c;学员可通过…

链表快慢指针合集(力扣)

876. 链表的中间结点 代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x…

C++提高笔记(五)---STL容器(set/multiset、map/multimap)

1、set / multiset容器 1.1set基本概念 简介&#xff1a;所有元素都会在插入时自动被排序 本质&#xff1a;set和multiset属于关联式容器&#xff0c;底层结构是用二叉树实现 set和multiset区别&#xff1a; set不允许容器中有重复的元素 multiset允许容器中有重复的元素 …

uniapp——第2篇:编写vue语法

前提&#xff0c;建议先学会前端几大基础&#xff1a;HTML、CSS、JS、Ajax&#xff0c;还有一定要会Vue!&#xff08;Vue2\Vue3&#xff09;都要会&#xff01;&#xff01;&#xff01;不然不好懂 一、去哪写&#xff1f; 就在【pages】的你的人一个页面文件夹里的【.vue】文…

多站合一的音乐搜索下载助手PHP源码l亲测

源码获取方式 回复&#xff1a;031601 搭建教程&#xff1a; 将源码下载上传至宝塔面板&#xff0c;直接运行即可~ 说明&#xff1a; 该源码进行测试&#xff0c;测试成功源码无加密优化相关其他采集问题。

langchain+chatglm3+BGE+Faiss Linux环境安装依赖

前言 本篇默认读者已经看过之前windows版本&#xff0c;代码就不赘述&#xff0c;本次讲述是linux环境配置 超短代码实现&#xff01;&#xff01;基于langchainchatglm3BGEFaiss创建拥有自己知识库的大语言模型(准智能体)本人python版本3.11.0&#xff08;windows环境篇&…

Go微服务实战——服务的配置获取(nacos做配置中心)

nacos做配置中心 demo仓库 docker安装nacos docker pull nacos/nacos-server 使用docker每次需要sudo可以执行如下命令 sudo groupadd docker #添加用户组 sudo gpasswd -a username docker #将当前用户添加至用户组-d就是删除该组中的用户 newgrp docker…

L1-070 吃火锅分数 15

我们老师的话说就是&#xff0c;你学长睡了四年的床板子你不收拾收拾就往上躺着睡觉吗&#xff1f;&#xff1f;&#xff1f;一定要记得用到计数变量时首先要赋初值0或者其他&#xff0c;按题目要求来。 用 输入样例 1&#xff1a; Hello! are you there? wantta chi1 huo3…

排序链表的三种写法

题目链接&#xff1a;https://leetcode.cn/problems/sort-list/?envTypestudy-plan-v2&envIdtop-100-liked 第一种&#xff0c;插入排序&#xff0c;会超时 class Solution {public ListNode sortList(ListNode head) {//插入排序&#xff0c;用较为简单的方式解决ListNo…

程序人生——Java泛型和反射的使用建议

目录 引出泛型和反射建议93&#xff1a;Java的泛型是类型擦除的建议94&#xff1a;不能初始化泛型参数和数组建议95&#xff1a;强制声明泛型的实际类型 建议96&#xff1a;不同的场景使用不同的泛型通配符建议97&#xff1a;警惕泛型是不能协变和逆变的 建议98&#xff1a;建议…

快速幂求逆元-C语言

快速幂求逆元 文章目录 快速幂求逆元算法描述算法步骤复杂度分析代码实现输入输出样例注意事项 算法描述 快速幂求逆元是指对于一个数 a a a 和一个质数 p p p&#xff0c;求 a p a^p ap 的逆元&#xff0c;即 a − 1 a^{-1} a−1。 算法步骤 首先判断 a a a 是否为 p p…

内网 IP 地址泄漏原理以及修复方法

漏洞名称&#xff1a;内网IP地址泄漏 漏洞描述&#xff1a; 网站的内部IP地址&#xff0c;常常被攻击者通过信息收集&#xff0c;得到其内网的IP地址&#xff0c;对于渗透攻击&#xff0c;打下良好基础&#xff0c;如内网Ip地址段&#xff0c;IP路由等等。IIS为常见的泄露内网…

C++:类之六脉神剑——默认成员函数

个人主页&#xff1a;日刷百题 系列专栏&#xff1a;〖C/C小游戏〗〖Linux〗〖数据结构〗 〖C语言〗 &#x1f30e;欢迎各位→点赞&#x1f44d;收藏⭐️留言&#x1f4dd; ​ ​ 一、默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为 空类 。 空类中真的什么都…

【Poi-tl Documentation】自定义占位符来设置图片大小

前置说明&#xff1a; <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version> </dependency>模板文件&#xff1a; image_test.docx package run.siyuan.poi.tl.policy;imp…

双路控制比例方向阀放大器

该模块比例放大器用于控制一个带有两个螺线管的比例方向控制阀或一个/两个独立的比例压力阀或比例节流阀&#xff0c;每个阀带有一个或二个螺线管。 各种可调参数允许对相应阀门的最佳适应。单路双路四路控制&#xff0c;供电24VDC&#xff0c;输入指令兼容多种可选&#xff0c…

2403d,无串插件传播uda

原文 是否可在没有串插件时传播UDA? 为了让它没有模板插件运行,我需要编写一个递归模板(在模板参数和UDA实例化结构上递归),它考虑了以下情况:普通类型,模板化类型,枚举(C风格),枚举值编译时常量等. 这是正确的,还是有无法只抓取编译时别名或枚举,而不给每个"类型"…

代码随想录训练营Day25:● 216.组合总和III ● 17.电话号码的字母组合

216.组合总和III 题目链接 https://leetcode.cn/problems/combination-sum-iii/description/ 题目描述 思路 自己写的效率会慢一些&#xff0c;而且没有用到剪枝 class Solution {List<List<Integer>> list new ArrayList<>();List<Integer> lis…

原生JS的DOM操作API

createElement createElement通过传入指定的一个标签名来创建一个元素,如果传入的标签名是一个未知的,则会创建一个自定义的标签,注意:IE8以下浏览器不支持自定义标签。 使用createElement要注意:通过createElement创建的元素并不属于HTML文档,它只是创建出来,并未添加…

C++高级面试题:解释 C++ 中的编译时多态性(Compile-Time Polymorphism)。

解释 C 中的编译时多态性&#xff08;Compile-Time Polymorphism&#xff09;。 编译时多态性&#xff08;Compile-Time Polymorphism&#xff09;是指在编译阶段确定函数调用的具体实现方式的一种多态性形式。在 C 中&#xff0c;主要通过函数重载和模板来实现编译时多态性。…

识别和定位 - 实现工业自动化及生产数字化,推动现代工业4.0

工业4.0的定义 工业 4.0 是指将智能数字化技术集成到制造和工业流程&#xff0c;包括工业物联网网络、人工智能、大数据、机器人和自动化等一系列技术。工业 4.0 能帮助企业实现智能制造&#xff0c;建立智能工厂&#xff0c;目标是提高生产力、效率和灵活性&#xff0c;同时在…