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