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

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

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

编写并测试Subject类

Subject类

  1. public class Subject {
  2. // 成员属性:学科名称、学科编号、学制年限、报名选修的学生信息、报名选修的学生个数
  3. private String subjectName;
  4. private String subjectNo;
  5. private int subjectLife;
  6. private Student[] myStudents;
  7. private int studentNum;
  8. // 无参构造方法
  9. public Subject() {
  10. }
  11. // 带参构造,带参构造,实现对全部属性的赋值
  12. public Subject(String subjectName, String subjectNo, int subjectLife) {
  13. // this.subjectName=subjectName;
  14. this.setSubjectName(subjectName);
  15. this.setSubjectNo(subjectNo);
  16. this.setSubjectLife(subjectLife);
  17. }
  18. public void setSubjectName(String subjectName) {
  19. this.subjectName = subjectName;
  20. }
  21. public String getSubjectName() {
  22. return this.subjectName;
  23. }
  24. public String getSubjectNo() {
  25. return subjectNo;
  26. }
  27. public void setSubjectNo(String subjectNo) {
  28. this.subjectNo = subjectNo;
  29. }
  30. public int getSubjectLife() {
  31. return subjectLife;
  32. }
  33. // 设置学制年限,限制必须>0
  34. public void setSubjectLife(int subjectLife) {
  35. if (subjectLife <= 0)
  36. return;
  37. this.subjectLife = subjectLife;
  38. }
  39. /**
  40. * 获取选修专业的学生信息 如果保存学生信息的数组未被初始化,则,先初始化长度200
  41. * @return 保存学生信息的数组
  42. */
  43. public Student[] getMyStudents() {
  44. if(this.myStudents==null)
  45. this.myStudents=new Student[200];
  46. return myStudents;
  47. }
  48. public void setMyStudents(Student[] myStudents) {
  49. this.myStudents = myStudents;
  50. }
  51. public int getStudentNum() {
  52. return studentNum;
  53. }
  54. public void setStudentNum(int studentNum) {
  55. this.studentNum = studentNum;
  56. }
  57. /**
  58. * 专业介绍的方法
  59. * @return 专业介绍的相关信息,包括名称、编号、年限
  60. */
  61. public String info() {
  62. String str = "专业信息如下:\n专业名称:" + this.getSubjectName() + "\n专业编号:" + this.getSubjectNo() + "\n学制年限:"
  63. + this.getSubjectLife() + "年";
  64. return str;
  65. }
  66. public void addStudent(Student stu){
  67. /*
  68. * 1、将学生保存到数组中
  69. * 2、将学生个数保存到studentNum
  70. * */
  71. //1、将学生保存到数组中
  72. for(int i=0;i<this.getMyStudents().length;i++){
  73. if(this.getMyStudents()[i]==null){
  74. stu.setStudentSubject(this);
  75. this.getMyStudents()[i]=stu;
  76. //2、将学生个数保存到studentNum
  77. this.studentNum=i+1;
  78. return;
  79. }
  80. }
  81. }
  82. }

测试类

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

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. android开发之edittext弹出输入框遮挡住文字。解决方法

    在ManiFest清单文件中修改被遮挡的类的EditText android:windowSoftInputMode="adjustPan|stateHidden"

  2. 【转】ANDROID LOLLIPOP SCREEN CAPTURE AND SHARING

    https://datatheorem.github.io/android/2014/12/26/android-screencapture/ https://www.youtube.com/watc ...

  3. Unity添加自定义拓展方法

    Shepherdog|2014-04-08 10:50|16151次浏览|Unity(373)0 通常你会发现你不能修改正在使用的那些类,无论它是基础的数据类型还是已有框架的一部分,它提供的方法让你困 ...

  4. C++STL complex吃书使用指南

    说在前面: complex即为复数 使用c++自带的complex类型,首先要有<complex>头文件,还要使用std命名空间 声明方式: complex <T> a:  声 ...

  5. 前端通过jqplot绘制折线图

    首先需要下载jqplot需要的js与css文件,我已近打包好了,需要的可以下载 接下来导入其中关键的js与css如下, <link href="css/jquery.jqplot.mi ...

  6. 查看带有A-Time的执行计划

    先执行 SQL> alter session set statistics_level=all; 会话已更改. 再执行SQL语句: SQL> select count(*) from tb ...

  7. SpringBoot2 引入 Aop

    一步小心就掉进坑里面了:SpringBoot2 引入 Aop 不生效 SpringBoot2.1.3版本 首先,引入依赖 <!--面向切面--> <dependency> &l ...

  8. Intel-Pin的windows安装

    环境安装 操作系统:windows10 需要环境: 1.Visual Studio Community 2019 Edition  ( https://visualstudio.microsoft.c ...

  9. (超详细)动手编写-链表(Java实现)

    目录 前言 概念 链表的设计 完整代码 List接口 抽象父类设计 链表-LinkedList 虚拟头结点 概念 结构设计 方法变动 双向链表 概念 双向链表设计 方法变动 循环链表 单向循环链表 双 ...

  10. Web_php_unserialize 攻防世界

    1.$var输入处有一个正则过滤 2._wakeup处需要过滤 编写脚本如下 后在网页输入?var=TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4Oi ...