首页 > 其他分享 >软件构造课程思考7

软件构造课程思考7

时间:2023-05-25 10:14:55浏览次数:43  
标签:变量 指向 改变 课程 引用 思考 4.3 软件 final

4.3易变性和不变性
改变一个变量:将变量指向另一个存储空间

改变一个变量的值:将该变量当前指向的存储空间写入一个新值

4.3.1不变性(重要设计原则)
数据类型一旦被创建,其值不能改变;引用类型一旦确定其指向的对象,不能再给变其指向其他对象

Java中使用关键字“final”来标记:

final类无法派生自己的子类
final变量无法改变值/引用
final方法无法被子类重写
编译器进行静态类型检查时,如判断final变量首次赋值后发生了改变,会提示错误。

尽量使用final变量作为方法的输入参数,作为局部变量

4.3.2 可变性
不变对象:一旦被创建,始终指向同一个值/引用
可变对象:拥有方法可以修改自己的值/引用

eg: String是不可变类型,StringBuilder是可变数据类型

 

标签:变量,指向,改变,课程,引用,思考,4.3,软件,final
From: https://www.cnblogs.com/zzzzzzx/p/17430314.html

相关文章

  • 我是如何学习软件工程的
    软件工程是一个庞大且不断演化的领域,涉及许多创新。虽然如此,大多数技术——如果不是全部——在软件工程中往往最终汇聚为几个基本原则。工程师更好地学习软件工程的方法是学习软件工程的基础知识,而不是那些不断变化的框架、语言或平台。即使学习基础知识也需要时间和努力。人们经......
  • 软件构造课程思考
    Java中的内存管理机制:栈:栈是一片内存区域,存储的是局部变量,凡是定义在方法中的都是局部变量(方法外的是全局变量);for循环内部定义的也是局部变量;只有先加载函数才能进行局部变量的定义,所以方法先进栈,然后再定义变量,变量有自己的作用域,一旦离开作用域,变量就会被释放。堆:存储的是数组和......
  • 2023.5.24——软件工程站立会议(阶段二)
    站立会议内容:1.整个项目预期的任务量:目前已经花的时间:剩余的时间:2.任务看板照片: 3.团队照片: 4.产品状态:最新做好的功能:正在完成中5.燃尽图:......
  • (大二下)课程总结——软件工程
    1)回顾你的课程计划(第一周的计划),你完成的程度如何?请列出具体数据和实际例子。  1.你在这门课的计划是什么?参考一些学校的教学,你对这个课程有什么期待?你打算怎样度过这个课程?    计划就是尽力跟上建民老师的节奏同时,还能主动学习一些其他知识。我的期待是希望能跟上建民......
  • 2023.5.24——软件工程日报
    所花时间(包括上课):6h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习。我了解到的知识点:1.了解了一些数据库的知识;2.了解了一些python的知识;3.了解了一些英语知识;5.了解了一些Javaweb的知识;4.了解了一些数学建模的知识;6.了解了一些计算机网络的知识;......
  • 肖sir__面试课程第13讲__面试综合题
    面试综合题============================1、你们的测试流程是怎么样的?(h模型)2、产品如何上线?0bug,100%用例、输出测试报告、uat验收通过3、用例包含哪些部分?用例编号、用例标题、用例步骤、前提条件、预期结果、优先级、实际结果4、常用的设计用例的方法有哪些?常用:等价类、......
  • 我的软考复习笔记【中级软件设计师】
    目录内聚与耦合内聚耦合统一过程(UP)软件体系结构风格软件能力成熟度模型(CMM)集成测试策略软件测试方法黑盒测试白盒测试需求UML分类协作图的边界类控制类实体类怎么区别null用例图的关系泛化(Inheritance)扩展(extend):包含(include):快速辨认类图的符号1.关联2.泛化3.聚合组件图设......
  • 软件工程 期末个人总结
    (1)本学期对第一周提出的计划完成情况。1.基本达到了老师的要求,能够完成老师交给的一个mis系统,完成最基本的增删改查,并把所有的功能都进行流程化。(学生选课管理系统)2.能够实现安卓的开发实现手机端的一个地铁查询系统。(双人团队项目)3.在团队项目中担任队长督促队员完成团队项目,并......
  • 软件工程课程个人总结
    1.关于第一周的计划对于增删改查相对来说比较熟悉,对于测试不那么慌张,从我自身感受来说,无论是上学期的期末还是这学期的开学考试,我整个人都是一个比较慌的状态,就像是高中考数学,明明会做但是因为自己的紧张到处出错,看着一点一点流逝的时间只能更加紧张,但是现在感觉没那么慌张了,或许......
  • 课程个人总结
    在这一学期中,开始提出了目标要求:本学期目标 对于这个目标基本完成,对于AndroidStudio项目有所了解,在项目中完成了Android手机端项目的构建。对于项目来说,了解到项目对我们并非太远,项目也是基于数据库的构建,此外关于条件的限制、界面的美化也是构建项目的基本方法。在对于Androi......