- 写在前面的话
- 引言
- 第 1 章 对象入门
- 第 2 章 一切都是对象
- 第 3 章 控制程序流程
- 第 4 章 初始化和清除
- 第 5 章 隐藏实施过程
- 第 6 章 类再生
- 第 7 章 多形性
- 第 8 章 对象的容纳
- 第 9 章 违例差错控制
- 第 10 章 Java IO 系统
- 第 11 章 运行期类型鉴定
- 第 12 章 传递和返回对象
- 第 十三 章 创建窗口和程序片
- 第 14 章 多线程
- 第 15 章 网络编程
- 第 16 章 设计范式
- 第 17 章 项目
- 附录 A 使用非 JAVA 代码
- 附录 B 对比 C++和 Java
- 附录 C Java 编程规则
- 附录 D 性能
- 附录 E 关于垃圾收集的一些话
- 附录 F 推荐读物
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
12.6 练习
(1) 创建一个 myString 类,在其中包含了一个 String 对象,以便用在构建器中用构建器的自变量对其进行初始化。添加一个 toString() 方法以及一个 concatenate() 方法,令其将一个 String 对象追加到我们的内部字串。在 myString 中实现 clone()。创建两个 static 方法,每个都取得一个 myString x 句柄作为自己的自变量,并调用 x.concatenate("test")。但在第二个方法中,请首先调用 clone()。测试这两个方法,观察它们不同的结果。
(2) 创建一个名为 Battery(电池)的类,在其中包含一个 int,用它表示电池的编号(采用独一无二的标识符的形式)。接下来,创建一个名为 Toy 的类,其中包含了一个 Battery 数组以及一个 toString,用于打印出所有电池。为 Toy 写一个 clone() 方法,令其自动关闭所有 Battery 对象。克隆 Toy 并打印出结果,完成对它的测试。
(3) 修改 CheckCloneable.java,使所有 clone() 方法都能捕获 CloneNotSupportException 违例,而不是把它直接传递给调用者。
(4) 修改 Compete.java,为 Thing2 和 Thing4 类添加更多的成员对象,看看自己是否能判断计时随复杂性变化的规律——是一种简单的线性关系,还是看起来更加复杂。
(5) 从 Snake.java 开始,创建 Snake 的一个深层复制版本。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论