黑马信息管理系统
分类思想
Student: 用来封装学生信息的类
StudentController: 接收用户数据,把数据交给下一层(StudentService)
StudentService: 接收StudentController传过来的数据,对数据进行校验等操作,
把数据传给下一层(StudentDao)
StudentDao: 对存储数据的容器进行操作(增、删、改、查)
分层思想
分层的意思就是用采用包对相同功能的类进行管理,包本质上就是文件夹。
项目环境搭建
创建一个新的模块heima-info-manager
,按照分层思想进行分包,在包中创建好对应的类
com.itheima.manager.domain: 存放封装数据的类
Student类
Teacher类
com.itheima.manager.controller: 存放controller相关的类
StudentController类
TeacherController类
com.itheima.manager.service: 存放service相关的类
StudentService类
TeacherService类
com.ithema.manager.dao: 存放dao相关的类
StudentDao类
TeacherDao类
com.itheima.manager.entry: 项目的入口类
InfoManagerEntry类
菜单搭建
- 主菜单搭建
主菜单的功能,主要是让用户选择【学生管理】、还是【老师管理】
public class InfoManagerEntry {
public static void main(String[] args) {
while (true) {
System.out.println("--------欢迎来到黑马信息管理系统--------");
System.out.println("请输入您的选择: 1.学生管理 2.老师管理 3.退出");
Scanner sc = new Scanner(System.in);
String choose = sc.next();
switch (choose) {
case "1":
System.out.println("学生管理");
break;
case "2":
System.out.println("老师管理");
break;
case "3":
System.out.println("系统已退出,谢谢使用");
System.exit(0); //退出虚拟机
break;
default:
System.out.println("你输入有误,请重新输入");
break;
}
}
}
}
- 子菜单搭建
子菜单分别是【学生管理】和【老师管理】,分别写在StudentController
类和TeacherController
类中。这里以StudentController
为例,自己完成TeacherController
public class StudentController {
public void start() {
w:
while (true) {
System.out.println("--------欢迎来到 <学生> 管理系统--------");
System.out.println("请输入您的选择: 1.添加学生 2.删除学生 3.修改学生 4.查看学生 5.退出");
Scanner sc = new Scanner(System.in);
String choose = sc.next();
switch (choose) {
case "1":
//添加学生
break;
case "2":
//删除学生
break;
case "3":
//修改学生
break;
case "4":
//查看学生
break;
case "5":
//退出学生
break w;
}
}
}
}
添加学生的流程
查询学生的流程
删除学生的流程
修改学生的流程
static关键字
static的特点:
1.被static修饰的成员,可以被该类的多个对象共享。
2.被static修饰的成员,优先于对象存在(了解)
3.被static修饰的成员,可以被类名直接调用(推荐)
static的注意事项
1.静态只能调用静态
2.非静态可以调用静态,也可以调用非静态
3.静态方法没有关键字
个对象共享。
2.被static修饰的成员,优先于对象存在(了解)
3.被static修饰的成员,可以被类名直接调用(推荐)
static的注意事项
1.静态只能调用静态
2.非静态可以调用静态,也可以调用非静态
3.静态方法没有关键字