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

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

一个类套着一个类

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

我会改进的

目录
相关文章
|
1月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
1月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
143 57
|
2天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
25天前
|
设计模式 消息中间件 搜索推荐
Java 设计模式——观察者模式:从优衣库不使用新疆棉事件看系统的动态响应
【11月更文挑战第17天】观察者模式是一种行为设计模式,定义了一对多的依赖关系,使多个观察者对象能直接监听并响应某一主题对象的状态变化。本文介绍了观察者模式的基本概念、商业系统中的应用实例,如优衣库事件中各相关方的动态响应,以及模式的优势和实际系统设计中的应用建议,包括事件驱动架构和消息队列的使用。
|
21天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
21 1
|
1月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
48 8
|
1月前
|
JavaScript 前端开发 Java
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
欢迎来到我的博客,我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。如果你从我的文章中受益,欢迎关注我,我将持续更新更多优质内容。你的支持是我前进的动力!🎉🎉🎉
24 0
还不明白面向对象? 本文带你彻底搞懂面向对象的三大特征(2024年11月Java版)
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
131 4
|
1月前
|
Java Android开发
Eclipse 创建 Java 类
Eclipse 创建 Java 类
26 0