回答編集履歴
2
改めて回答
test
CHANGED
@@ -1,5 +1,17 @@
|
|
1
|
-
|
1
|
+
```java
|
2
2
|
|
3
|
-
|
3
|
+
public class Test2 {
|
4
4
|
|
5
|
+
public Test1 clone(Test1 t) throws CloneNotSupportedException{
|
6
|
+
|
5
|
-
e
|
7
|
+
return(Test1)super.clone();
|
8
|
+
|
9
|
+
}
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
}
|
14
|
+
|
15
|
+
```
|
16
|
+
|
17
|
+
このコードで複製しているのはTest1型オブジェクトtではなく、**このメソッドを実行するTest2オブジェクト自身**です。このコードのsuperはTest2の親クラスのObjectを指します。ObjectもTest2もCloneableを持っていないため、CloneNotSupportedExceptionが発生するのです。
|
1
勘違い回答
test
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
###勘違い回答でした。
|
2
|
+
|
1
3
|
Test2がObjectクラスの直系の子クラスだからです。意図としてはTest1クラスを継承しているつもりでしょうか?
|
2
4
|
|
3
5
|
extends Test1が抜けています。
|