JavaSE进阶知识总结--分包分类思想及static关键字
优采云 发布时间: 2020-08-17 22:01JavaSE进阶知识总结--分包分类思想及static关键字
JavaSE进阶知识总结--分包分类思想及static关键字
就业阶段一:JavaSE进阶_day011.案例驱动模式1.1案例驱动模式概述 (理解)
通过我们已把握的知识点,先实现一个案例,然后找出这个案例中,存在的一些问题,在通过新知识点解决问题。
1.2案例驱动模式的益处 (理解)2.分类思想2.1分类思想概述 (理解)
分工协作,专人干专事
2.2黑马信息管理系统 (理解)
3.发包思想3.1发包思想概述 (理解)
如果将所有的类文件都置于同一个包下,不利于管理和后期维护,所以,对于不同功能的类文件,可以置于不同的包下进行管理
3.2包的概述 (记忆)3.3包的注意事项 (理解)3.4类与类之间的访问 (理解)
不同包下的访问
import 、package 、class 三个关键字的摆放位置存在次序关系
1.package 必须是程序的第一条可执行的代码
2.import 需要写在 package 下面
3.class 需要在 import 下面
4.黑马信息管理系统4.1系统介绍 (理解)
4.2中学生管理系统 (应用)4.2.1需求说明4.2.2实现步骤实现步骤展示欢迎页面,用输出句子完成主界面的编撰获取用户的选择,用Scanner实现按键录入数据按照用户的选择执行对应的操作,用switch句子完成操作的选择
添加功能实现步骤
4.2.3代码实现
学生类
public class Student {
private String id;
private String name;
private String age;
private String birthday;
String address;
public Student() {
}
public Student(String id, String name, String age, String birthday) {
this.id = id;
this.name = name;
this.age = age;
this.birthday = birthday;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
程序入口InfoManagerEntry类
public class InfoManagerEntry {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
// 主菜单搭建
System.out.println("--------欢迎来到黑马信息管理系统--------");
System.out.println("请输入您的选择: 1.学生管理 2.老师管理 3.退出");
String choice = sc.next();
switch (choice) {
case "1":
// System.out.println("学生管理");
// 开启学生管理系统
StudentController studentController = new StudentController();
studentController.start();
break;
case "2":
System.out.println("老师管理");
TeacherController teacherController = new TeacherController();
teacherController.start();
break;
case "3":
System.out.println("感谢您的使用");
// 退出当前正在运行的JVM虚拟机
System.exit(0);
break;
default:
System.out.println("您的输入有误, 请重新输入");
break;
}
}
}
}
StudentController类
<p>public class StudentController {
// 业务员对象
private StudentService studentService = new StudentService();
private Scanner sc = new Scanner(System.in);
// 开启学生管理系统, 并展示学生管理系统菜单
public void start() {
//Scanner sc = new Scanner(System.in);
studentLoop:
while (true) {
System.out.println("--------欢迎来到 管理系统--------");
System.out.println("请输入您的选择: 1.添加学生 2.删除学生 3.修改学生 4.查看学生 5.退出");
String choice = sc.next();
switch (choice) {
case "1":
// System.out.println("添加");
addStudent();
break;
case "2":
// System.out.println("删除");
deleteStudentById();
break;
case "3":
// System.out.println("修改");
updateStudent();
break;
case "4":
// System.out.println("查询");
findAllStudent();
break;
case "5":
System.out.println("感谢您使用学生管理系统, 再见!");
break studentLoop;
default:
System.out.println("您的输入有误, 请重新输入");
break;
}
}
}
// 修改学生方法
public void updateStudent() {
String updateId = inputStudentId();
Student newStu = inputStudentInfo(updateId);
studentService.updateStudent(updateId, newStu);
System.out.println("修改成功!");
}
// 删除学生方法
public void deleteStudentById() {
String delId = inputStudentId();
// 3. 调用业务员中的deleteStudentById根据id, 删除学生
studentService.deleteStudentById(delId);
// 4. 提示删除成功
System.out.println("删除成功!");
}
// 查看学生方法
public void findAllStudent() {
// 1. 调用业务员中的获取方法, 得到学生的对象数组
Student[] stus = studentService.findAllStudent();
// 2. 判断数组的内存地址, 是否为null
if (stus == null) {
System.out.println("查无信息, 请添加后重试");
return;
}
// 3. 遍历数组, 获取*敏*感*词*并打印在控制台
System.out.println("学号\t\t姓名\t年龄\t生日");
for (int i = 0; i