12.6 练习
12.6 练习
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 的一个深层复制版本。