面向对象高级
学生信息管理系统的源码可在我的资源中下载!
分类思想
分类思想:分工协作,专人干专事.
信息管理系统分类:
- Student类 标准学生类,封装学生信息
- StudentDao类 Dao(Data Access Object) 用于访问存储数据的数组或集合
- StudentService类 用来进行业务逻辑的处理(如: 判断录入的ID是否存在)
- StudentController类 和用户打交道(接受用户需求,采集用户信息 .打印数据到控制台)
分包思想
包的概述
-
包 : 本质上就是文件夹
-
创建包: (单级包, 多级包)
多级包之间使用" . "进行分割
多级包的定义规范 : 公司的网站地址反转(去掉www)
比如: com.baidu.其他的包名
-
包的命名规则 : 字母都是小写
类与类之间的访问
-
同一个包下的访问:
不需要导包, 直接使用
-
不同包下的相互访问
-
先导包后访问(import)
-
通过全类名(包名+类名) 访问
应用场景:多个包下,出现了相同的类名, 就可以使用这种访问进行区分
-
-
注意:import , package , class 三个关键字的摆放位置存在顺序关系
package必须是程序的第一条可执行代码
import需要写在package 下面
class需要在import下面
信息管理系统
环境搭建
- 创建模块 : mxy-edu-info-manager
- 创建包 , 创建类
包 | 存储的类 | 作用 |
---|---|---|
com.mxy.edu.manager.domain | Student.java | 封装学生信息 |
com.mxy.edu.manager.dao | StudentDao.java | 访问存储数据的数组,进行增删改查(库管) |
com.mxy.edu.manager.service | StudentService.java | 业务的逻辑处理(业务员) |
com.mxy.edu.manager.controller | StudentController.java | 和用户打交道(客服接待) |
com.mxy.edu.manager.entry | InfoManagerEntry.java | 程序的入口类 , 提供一个main方法 |
菜单搭建
- 实现步骤:
- 信息管理系统菜单搭建
- 学生管理系统菜单搭建
- 思路
- 用输入语句完成主界面的编写
- 用Scanner实现键盘录入数据
- 用switch语句完成操作的选择
添加学生功能实现
static 关键字
static关键字是静态的意思, 是Java中的一个修饰符, 可以修饰成员方法, 成员变量
- 被static修饰的成员变量,叫做静态变量
- 被static修饰的成员方法,叫做静态方法
static 修饰的特点
- 被static修饰的成员, 会被该类的所有对象共享(是我们判断是否使用静态关键字的条件)
- 被static修饰的成员, 会随着类的加载而加载,优先于对象存在(对象需要类被加载后才能创建)
- 多了一种调用方式,可以通过 ==类名 + " . "==的方式进行调用
- 也可以通过对象名调用
- 推荐使用类名调用
static关键字的注意事项
- 静态方法只能访问静态的成员
- 非静态方法可以访问静态的成员, 也可以访问非静态的成员
- 静态方法中是没有this关键字的
==总结: 静态方法中,只能访问静态成员,静态方法中没有this关键字
查询学生功能实现
删除学生功能实现
修改学生功能实现
与删除学生功能思路大同小异