098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类

本文知识点:编写并测试Subject类

说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明);有些步骤和相关知识点缺乏文字描述,可能会难以理解。读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的“关于博主”处)与本人交流,共同进步

编写并测试Subject类

Subject类

public class Subject {
// 成员属性:学科名称、学科编号、学制年限、报名选修的学生信息、报名选修的学生个数
private String subjectName;
private String subjectNo;
private int subjectLife;
private Student[] myStudents;
private int studentNum; // 无参构造方法
public Subject() { } // 带参构造,带参构造,实现对全部属性的赋值
public Subject(String subjectName, String subjectNo, int subjectLife) {
// this.subjectName=subjectName;
this.setSubjectName(subjectName);
this.setSubjectNo(subjectNo);
this.setSubjectLife(subjectLife);
} public void setSubjectName(String subjectName) {
this.subjectName = subjectName;
} public String getSubjectName() {
return this.subjectName;
} public String getSubjectNo() {
return subjectNo;
} public void setSubjectNo(String subjectNo) {
this.subjectNo = subjectNo;
} public int getSubjectLife() {
return subjectLife;
} // 设置学制年限,限制必须>0
public void setSubjectLife(int subjectLife) {
if (subjectLife <= 0)
return;
this.subjectLife = subjectLife;
} /**
* 获取选修专业的学生信息 如果保存学生信息的数组未被初始化,则,先初始化长度200
* @return 保存学生信息的数组
*/
public Student[] getMyStudents() {
if(this.myStudents==null)
this.myStudents=new Student[200];
return myStudents;
} public void setMyStudents(Student[] myStudents) {
this.myStudents = myStudents;
} public int getStudentNum() {
return studentNum;
} public void setStudentNum(int studentNum) {
this.studentNum = studentNum;
} /**
* 专业介绍的方法
* @return 专业介绍的相关信息,包括名称、编号、年限
*/
public String info() {
String str = "专业信息如下:\n专业名称:" + this.getSubjectName() + "\n专业编号:" + this.getSubjectNo() + "\n学制年限:"
+ this.getSubjectLife() + "年";
return str;
} public void addStudent(Student stu){
/*
* 1、将学生保存到数组中
* 2、将学生个数保存到studentNum
* */
//1、将学生保存到数组中
for(int i=0;i<this.getMyStudents().length;i++){
if(this.getMyStudents()[i]==null){
stu.setStudentSubject(this);
this.getMyStudents()[i]=stu;
//2、将学生个数保存到studentNum
this.studentNum=i+1;
return;
}
}
}
}

测试类

public class SchoolTest {

	public static void main(String[] args) {
// TODO Auto-generated method stub
//测试Subject
Subject sub1=new Subject("计算机科学与应用","J0001",4);
System.out.println(sub1.info());
} }

098 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 02 编写并测试Subject类的更多相关文章

  1. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  2. 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)

    094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  3. 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)

    093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  4. 092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 02 static关键字(中)

    092 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  5. 091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 01 static关键字(上)

    091 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  6. 090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 04 使用包进行类管理(2)——导入包

    090 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  7. 089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 使用包进行类管理(1)——创建包

    089 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

  8. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  9. 087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点

    087 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 01 封装的概念和特点 本文知识点:封装的概念和特点 说明:因为时间紧张,本人写博客过程中只是对 ...

随机推荐

  1. Java 获取一段时间内的每一天

    有时候我们会遇到一些业务场景,需要去获取一段时间内的每一天日期 public static List<Date> findDates(Date dBegin, Date dEnd) { L ...

  2. 10.redis cluster介绍与gossip协议

    一.redis cluster 介绍 自动将数据进行分片,每个 master 上放一部分数据 提供内置的高可用支持,部分 master 不可用时,还是可以继续工作的 redis cluster架构下的 ...

  3. tcpdump 命令格式

    tcpdump 命令格式 tcpdump [选项] [表达式 1. 选项 常用选项: -i : 网卡名: 指定网卡,默认抓取系统第一个网卡 -n : 对地址以数字方式显示 -nn :对地址端口以数字方 ...

  4. VMware Workstation Pro15安装路径、修复等问题

    我的VMware Worstation 昨晚报错,无法打开虚拟机,VMware Authorization Services 也无法启动,于是卸载重装,结果仍然无法启动VMware Authoriza ...

  5. Activiti7 任务人员动态分配(理论)

    之前一直用的流程模型都是,固态的,写死的 由于固定分配方式,任务只能一步一步执行,执行到每一个任务将按照bpmn的配置去分配任务负责人.这显然在实际开发中是不可能的 所以我们需要动态分配人员 表达式分 ...

  6. vue3剖析:响应式原理——effect

    响应式原理 源码目录:https://github.com/vuejs/vue-next/tree/master/packages/reactivity 模块 ref: reactive: compu ...

  7. 给编程小白的java JDK安装教程

    对刚开始学习编程的新手朋友们来说,安装开发环境可谓是一件头疼的事了,为了不让刚准备入门java的朋友还没写出自己的Hello World就被安装开发环境劝退,所以本篇文章诞生了. 下载JDK 打开浏览 ...

  8. 抽象工厂模式详解 —— head first 设计模式

    项目实例 假设你有一家 pizza 店,你有很多种 pizza,要在系统中显示你所有 pizza 种类.实现这个功能并不难,使用普通方式实现: public class PizzaStore { Pi ...

  9. First-blog:解决mybatis 用mysql进行模糊搜索时,查不了中文问题

    如图:点击小字 按搜索时,出现乱码搜索不了 解决办法:出现乱码问题,一般无非两种 1.是数据库问题 2.是服务器问题 我在MySQL命令行搜索时,中文可以实现,说明时服务器问题 通过修改 tomcat ...

  10. 【小白学PyTorch】10 pytorch常见运算详解

    参考目录: 目录 1 矩阵与标量 2 哈达玛积 3 矩阵乘法 4 幂与开方 5 对数运算 6 近似值运算 7 剪裁运算 这一课主要是讲解PyTorch中的一些运算,加减乘除这些,当然还有矩阵的乘法这些 ...