栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

02-面向对象进阶-分类和static

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

02-面向对象进阶-分类和static

文章目录
    • 0. 项目创建
    • 1.分类思想
      • 1.1分类思想概述 (理解)
      • 1.2javaSE信息管理系统 (理解)
    • 2.分包思想
      • 2.1分包思想概述 (理解)
      • 2.2包的概述 (记忆)
      • 2.3包的注意事项 (理解)
      • 2.4类与类之间的访问 (理解)
    • 3.javaSE信息管理系统
      • 3.1系统介绍 (理解)
      • 3.2学生管理系统 (应用)
        • 3.2.1需求说明
        • 4.2.2实现步骤
    • 4.static关键字
      • 4.1static关键字概述 (理解)
      • 4.2static修饰的特点 (记忆)
      • 4.3static关键字注意事项 (理解)
    • 小知识:

0. 项目创建

File->Close Project->Create New Project->左下角empty project-》弹出窗口 继续 new module ->取好名字一路next ->右键src-:new ->Package







1.分类思想 1.1分类思想概述 (理解)

分工协作,专人干专事

1.2javaSE信息管理系统 (理解)
  • Student类 标准学生类,封装键盘录入的学生信息(id , name , age , birthday)

  • StudentDao类 Dao : (Data Access Object 缩写) 用于访问存储数据的数组或集合

  • StudentService类 用来进行业务逻辑的处理(例如: 判断录入的id是否存在)

  • StudentController类 和用户打交道(接收用户需求,采集用户信息,打印数据到控制台)

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vjesnml0-1651455900822)(.img1_黑马信息管理系统分类.png)]

2.分包思想 2.1分包思想概述 (理解)

如果将所有的类文件都放在同一个包下,不利于管理和后期维护,所以,对于不同功能的类文件,可以放在不同的包下进行管理

2.2包的概述 (记忆)
  • 本质上就是文件夹

  • 创建包

    多级包之间使用 " . " 进行分割
    多级包的定义规范:公司的网站地址翻转(去掉www)
    比如:www.whu.edu.cn
    后期我们所定义的包的结构就是:cn.whu.其他的包名 (.edu就省略了)

  • 包的命名规则

    字母都是小写

2.3包的注意事项 (理解)
  • package语句必须是程序的第一条可执行的代码
  • package语句在一个java文件中只能有一个
  • 如果没有package,默认表示无包名
2.4类与类之间的访问 (理解)
  • 同一个包下的访问(package后面完全相同才算同一个包下 也就是说同一个文件夹下才算

    不需要导包,直接使用即可

  • 不同包下的访问

    1.import 导包后访问

    2.通过全类名(包名 + 类名)访问

  • 注意:import 、package 、class 三个关键字的摆放位置存在顺序关系

    package 必须是程序的第一条可执行的代码

    import 需要写在 package 下面

    class 需要在 import 下面

3.javaSE信息管理系统 3.1系统介绍 (理解)

3.2学生管理系统 (应用) 3.2.1需求说明
  • 添加学生: 键盘录入学生信息(id,name,age,birthday)

    使用数组存储学生信息,要求学生的id不能重复

  • 删除学生: 键盘录入要删除学生的id值,将该学生从数组中移除,如果录入的id在数组中不存在,需要重新录入

  • 修改学生: 键盘录入要修改学生的id值和修改后的学生信息

    将数组中该学生的信息修改,如果录入的id在数组中不存在,需要重新录入

  • 查询学生: 将数组中存储的所有学生的信息输出到控制台

4.2.2实现步骤
  • 环境搭建实现步骤 再好好回顾一下三层的职责 不过其实难点在于同一个层次不同模块文件之间交互逻辑的准确划分 eg: StudentService 和 HomeworkService
存储的类作用
cn.whu.info.manager.domainStudent.java封装学生信息
cn.whu.info.manager.daoStudentDao.java访问存储数据的数组,进行赠删改查(库管)
cn.whu.info.manager.serviceStudentService.java业务的逻辑处理(业务员)
cn.whu.info.manager.controllerStudentController.java和用户打交道(客服接待)
cn.whu.info.manager.entryInfoManagerEntry.java程序的入口类,提供一个main方法

File->Project Structure…->“+” -> New Module->next->取名: whu-edu-info-manager ->Finish->OK


右键src->new -> Package ->写好包名 (同样方法重复 建立好包结构)

然后创建各个初始类:

Student.java

public class Student {
    private String id;
    private String name;
    private String age;
    private String birthday;
 }

右键-》Generate->生成:空参+全参构造方法 所有的get/set方法

  • 菜单搭建实现步骤

    • 需求
      • 黑马管理系统菜单搭建
      • 学生管理系统菜单搭建
    • 实现步骤
      1. 展示欢迎页面,用输出语句完成主界面的编写
      2. 获取用户的选择,用Scanner实现键盘录入数据
      3. 根据用户的选择执行对应的操作,用switch语句完成操作的选择


  • 添加功能实现步骤
  • 添加功能优化:判断id是否存在

4.static关键字 4.1static关键字概述 (理解)

static 关键字是静态的意思,是Java中的一个修饰符,可以修饰成员方法,成员变量

4.2static修饰的特点 (记忆)
  • 被类的所有对象共享

    是我们判断是否使用静态关键字的条件

  • 随着类的加载而加载,优先于对象存在

    对象需要类被加载后,才能创建

  • 可以通过类名调用

    也可以通过对象名调用(不推荐)

4.3static关键字注意事项 (理解)
  • 静态方法只能访问静态的成员
    -也就是说静态方法不能访问非静态成员,因为静态方法存在时(类存在时就存在)非静态成员可能还不存在(对象存在时才存在) 【静态成员:静态成员方法和静态成员变量】
  • 非静态方法可以访问静态的成员,也可以访问非静态的成员
  • 静态方法中是没有this关键字 this是当前对象 static方法是属于类的 不是属于某一个对象的 况且static存在时可能还没有任何对象呢
小知识:

成员变量 堆内存
方法 栈内存

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854401.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号