主要内容:
添加学生
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关键字