阶段二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关键字

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java之书

会持续更新实用好的文章谢谢关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值