- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 软件构造学习小记(五)防御性复制
防御性复制是十分有用的一个思想。用户可能毁坏不变性(可能是有意的,也可能是无意的)。确保类不变量在任何输入下都有效,以最小化可变性。下面以一个例子介绍如何使用防御性复制。代码如下:如果我们进行如下操作:我们会发现输出如下:这是由于Date类是可变的。对于类似于Date的这种可变类,对其进行引用时都有可能发生修改。对于上述代码,我们的修改方法就是使用防御性复制。总结如果类具有从客户端得到或者返回到客户端的可变对象,类就必须防御性的复制这些对象。...
2022-06-13 18:10:41 167 1
原创 软件构造学习小记(二)重写与重载
重写是子类对父类的允许访问的方法的实现过程进行重新编写。在Java中,默认情况下方法都是可重写的,即没有特殊的关键字来声明一个方法可以重写。如果在Java程序中无法覆盖某个方法,则必须在其前面加上前缀使用关键字final。子类只能添加新方法,无法重写超类中的方法,子类只能向超类添加新方法,而不能覆盖它们。重写的函数有相同的名称、参数或签名以及相同的返回类型,所执行方法的版本将由用于调用它的对象确定:如果使用父类的对象调用该方法,则将执行父类中的版本;如果子类的对象用于调用该方法,则将执行子类中的版本。可
2022-05-22 22:39:30 166
原创 软件构造学习小记(一) JAVA语言三大特点
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、多态二、封装三、继承总结前言希望从这里开始记录我的JAVA学习过程。我们已经知道C语言是面向过程的语言,而JAVA语言是面向对象的语言。在已经有了C语言基础的情况下,学习JAVA需要首先了解JAVA语言等面向对象语言的特点,也就是多态、封装和继承。一、多态1.概念多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。计算机程序运行时,相同的消息可能会送给多个不同的类别之对象,而系统可依.
2022-05-01 23:13:04 116
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人