面向对象JML教程:入门与实现详解
需积分: 0 159 浏览量
更新于2024-08-05
收藏 205KB PDF 举报
本篇面向对象JML系列第一次指导书主要介绍了Java编程中的JML(Java Modeling Language)概念和应用。JML是Java语言的一个扩展,用于为Java程序提供行为规格说明,帮助开发者设计和验证软件系统的复杂性,特别是在面向对象设计中。本节的核心知识点包括:
1. **接口实现**:如`MyPath`类实现了`Path`接口,这展示了在JML中如何通过继承或实现接口来定义类的行为规范。`MyPath(int[] nodeList)`的构造函数表明它接受一个整数数组作为输入,可能是路径节点的表示。
2. **方法签名**:`public MyPath(int[] nodeList);`显示了如何声明和实现类的方法,这里使用了泛型参数`int[]`,暗示可能涉及路径数据结构的操作。
3. **抽象类和接口**:提到了`Path`和`PathContainer`接口,它们可能是路径和路径容器的抽象定义,提供了基础功能和行为规范。
4. **AppRunner`类**: `public static AppRunner`可能是一个工具类,用于运行和测试用例,其与JML的结合用于验证类的行为是否符合预期。
5. **注解和文档**:文中使用了`@public`、`@public̶`等注解,这些可能是JML特有的注解,用于指定方法的可见性和行为描述。`ՊՊ`和`ՊՊ̶`等符号可能是JML的语法,用于指定行为模型。
6. **测试和验证**:文档中提到`ՊՊՊՊ`和`ՊՊՊՊ̶`可能是JML中的测试用例或者行为验证机制,强调了JML在设计阶段对正确性保证的重要性。
7. **错误处理和调试**:`؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊؊
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
点击了解资源详情
点击了解资源详情
今年也要加油呀
- 粉丝: 25
- 资源: 312
最新资源
- ES管理利器:ES Head工具详解
- Layui前端UI框架压缩包:轻量级的Web界面构建利器
- WPF 字体布局问题解决方法与应用案例
- 响应式网页布局教程:CSS实现全平台适配
- Windows平台Elasticsearch 8.10.2版发布
- ICEY开源小程序:定时显示极限值提醒
- MATLAB条形图绘制指南:从入门到进阶技巧全解析
- WPF实现任务管理器进程分组逻辑教程解析
- C#编程实现显卡硬件信息的获取方法
- 前端世界核心-HTML+CSS+JS团队服务网页模板开发
- 精选SQL面试题大汇总
- Nacos Server 1.2.1在Linux系统的安装包介绍
- 易语言MySQL支持库3.0#0版全新升级与使用指南
- 快乐足球响应式网页模板:前端开发全技能秘籍
- OpenEuler4.19内核发布:国产操作系统的里程碑
- Boyue Zheng的LeetCode Python解答集