Java面向对象课程设计--类管理系统

简介: Java面向对象课程设计--类管理系统

是一个基于面向对象编程和Javase的管理系统

第1个课设是去年11月份写的

我记得当时在实验室写了一个下午,晚上写了两个小时去牛客刷题去了,第二天下午开始写,写到六点钟写完的

前天2024/2/20晚上和昨天2024/2/21下午我写了第2个课设

第二次写课设比第一次课设容易多了

一个晚上就写了300行用户页的操作

第二天下午先在论坛摸鱼搞组件,后来开始写到晚上6点吃饭还剩增删改三个功能,吃饭前把关于查的stream流方法写完,吃过饭半小时就写完了

课设介绍

其中包名为

有两个JavaBean类

三个工具类

第一个界面:登录系统

第二个界面食品

以下是改进

改进1

通过选择直接访问选项类里的静态方法

我选择通过类名.方法直接调用

这样可以确保进入每个界面的便捷性

因为在第一次写课设的时候

使用c语言结构体写的

而每个界面的退出我是用while循环实现的

而多重循环还需要用到loop标签

就容易出现不正常的运行,十分难写

例如,我们这里直接访问各个类里的静态方法

进入各个页面后

退出时,同样基于死循环一个唯一的出口,就是再访问先前类的方法

就像这样

选择正确的数字是唯一的出口,外面套着死循环

改进2

在JavaBean类里定义了关于类的方法

因为在第一次写课程设计时,JavaBean类只交代了成员属性,以及相关的空参构造,实参构造

所以这次要进行数据有关操作时,我们可以直接访问类里面的静态方法

来做到对数据的处理

食品类

用户类

改进3

优化数据结构

之前写的数据是存储在单列集合集合ArrayList里的

因为可读性差和使用起来太复杂

所以我优化了数据结构

采用双列集合 底层是哈希表

基于数组,链表,红黑树的高级数据结构

改进4

方法重写

主要体现在两个方面,使用了新的方法,例如正则表达式,Stream流,迭代器

主要是对字符串的操作和遍历集合

检验字符串是否符合规范

Stream流过滤数据

以下是创新

创新1

使用Java图形化组件

创新2

使用音频组件

创建一个工具类Music

里面静态方法里用音频组件写了歌曲的属性

可进行播放 其中采用了异常处理机制 防止进程出现问题

创新3

构建了图形化的虚拟购物

请注意这些数据在底层逻辑都是可以通过增加,删除去操作的

也就是在存储的时候不止会将数据存在查询那个最基本的集合里

同样也会存储到另一个名为购物的哈希表双列集合里去

大大提高了灵活性和可用性

以下是不足

每次写都有不足,我觉得代码永远也不会改成最最最完美的

所以我不太喜欢一直一直优化优化再优化

不足1

还需要优化数据结构

在每次打开模拟点餐时,数据都是无序的

就是各项数据不是按照存入集合的顺序排列的

这我就想到了是不是应该用LinkedHashList而不是HashList

不足2

没有使用继承和接口

我一直觉得作为接口的实现类重写接口里抽象方法好方便啊

但其实还不会用这些东西

不足3

功能不够完善

究竟什么时候才能完善,才能很很很完善,才能绝绝对对的完善呢

不足4

学长看完后说我代码耦合性太高了

一个类套着一个类

我特地去看了软件工程这本书,我记得是好像是第十页说软件开发最重要的一点要低耦合高内聚

我会改进的

目录
相关文章
|
16天前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
40 17
|
8天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
12天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
53 4
|
13天前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
29 2
|
14天前
|
运维 自然语言处理 供应链
Java云HIS医院管理系统源码 病案管理、医保业务、门诊、住院、电子病历编辑器
通过门诊的申请,或者直接住院登记,通过”护士工作站“分配患者,完成后,进入医生患者列表,医生对应开具”长期医嘱“和”临时医嘱“,并在电子病历中,记录病情。病人出院时,停止长期医嘱,开具出院医嘱。进入出院审核,审核医嘱与住院通过后,病人结清缴费,完成出院。
45 3
|
17天前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
|
21天前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
|
18天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
16 1
|
19天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
13 2
|
21天前
|
存储 Java 编译器
java wrapper是什么类
【10月更文挑战第16天】
23 3