当前位置: 首页 > news >正文

阶段二11_面向对象高级_学生管理系统案例2

主要内容:
添加学生
static关键字

一.添加学生时判断id是否存在

0.思路图片:
04/图片/2_添加学生判断id存在的问题分析.png
在这里插入图片描述
1.思路实现详细步骤:
StudentController【客服接待】

/**
接收到学生id后,判断该id在数组中是否存在
这种判断属于业务处理
指派StudentService中判断 id 是否存在
调用内部 isExists方法,该方法返回boolean类型
true: 存在
false: 不存在
接收学员 id 和判断的代码,使用无限循环包裹直到输入了不存在的id,结束循环
*/
while(true) {System.out.println("请输入学生id:");id = sc.next();boolean fag=  studentService.isExists(id);if(fag){System.out.println("该学号已存在");}else{break;}}

StudentService【业务员】

/**
isExists方法
从StudentDao中获取存储学生对象的数组,调用内部findAllStudent方法.
该方法返回学生数组,遍历数组获取每一个学生对象
判断学号是否存在,返回 true 或 false 结果
*/
public boolean isExists(String id) {Student[] students =  studentDao.findAll();boolean isExists = false;  //false不存在for(Student stu: students){if(stu!=null && stu.getId().equals(id)){isExists = true;break;}}return isExists;
}

StudentDao【库管】

//findAllStudent方法,将学生数组返回即可
//返回全部学生对象
private Student[] students = new Student[5];
public Student[] findAll() {return students;
}

二.添加学生时判断id是否存在,问题分析

分析图片
04/图片/3_添加学生时判断id是否存在.png
在这里插入图片描述

解决:
使用static 关键字解决
思路:将使用的Student[] 学生数组变为共享数据,加入static静态修饰

三.static关键字

1.概念:
static 关键字是静态的意思,是Java中的一个修饰符,可以修饰成员方法,成员变量。
被static修饰的成员变量,一般叫做静态变量
被static修饰的成员方法,一般叫做静态方法

2.static 修饰的特点
被类的所有对象共享
是我们判断是否使用静态关键字的条件
随着类的加载而加载,优先于对象存在
对象需要类被加载后,才能创建
可以通过类名调用
也可以通过对象名调用
推荐使用类名调用

3.static 关键字内存图解
图:04/图片/4_static关键字内存图解
在这里插入图片描述

4.static 关键字的注意事项
静态方法只能访问静态的成员
非静态方法可以访问静态的成员,也可以访问非静态的成员
静态方法中是没有this关键字
总结:静态方法中,只能访问静态成员,静态中没有this关键字

http://www.lryc.cn/news/30736.html

相关文章:

  • spring源码篇(3)——bean的加载和创建
  • Spring 中事务的传播级别
  • ECharts可视化库--常用组件
  • openpnp - 设备开机后, 吸嘴校验失败的解决方法
  • 【Linux学习】基础IO——软硬链接 | 制作动静态库
  • 如何分辨on-policy和off-policy
  • 第三讲:ambari编译后的安装包制作流程说明
  • Python进阶-----面对对象6.0(绑定方法[类方法、静态方法]与内置方法)
  • java8四大基本函数式接口
  • Junit测试框架
  • 操作系统复习题
  • web项目的初始化
  • 29- 迁移学习 (TensorFlow系列) (深度学习)
  • 工具篇(五)炫酷排版,尽在LaTeX:让你的文档飞升吧!
  • 【蓝桥杯PythonB组备赛】【Acwing周赛】第93场 4867. 整除数 4868. 数字替换 python解
  • KNN学习报告
  • Java奠基】方法的讲解与使用
  • 字符串hash
  • 试题 算法训练 转圈游戏
  • 【uni-app教程】九、运行环境判断与跨端兼容
  • 扩展WSL2虚拟硬盘的大小
  • Win系统蓝牙设备频繁卡顿/断连 - 解决方案
  • Git学习入门(2)- 基本命令操作总结
  • SPringCloud:Nacos快速入门及相关属性配置
  • 医疗器械之模糊算法(嵌入式部分)
  • 网上销售笔记本系统
  • MySQL基础查询操作
  • English Learning - L2 语音作业打卡 小元音 [ʌ] [ɒ] Day9 2023.3.1 周三
  • Condition 源码解读
  • 看完这篇入门性能测试