質問編集履歴
1
コードの一行目が途切れていたので編集しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
### 実現したいこと
|
2
2
|
『すっきりわかるJava実践編』という書籍にて勉強していたところシールクラスについて記載があり、自分でも試しながら作成していたところ、switch文で子クラスのインスタンスが渡された際の処理を分岐している記述で「defalt句」を使用せずに実現できる方法について記載のあった以下のコードで疑問がありました。
|
3
|
+
```
|
3
|
-
|
4
|
+
public sealed class Charactor permits Hero,Wizard{}
|
4
5
|
public final class Hero extends Charactor{}
|
5
6
|
public final class Wizard extends Charactor{}
|
6
7
|
```
|
7
8
|
上記継承関係のクラスを作成し
|
9
|
+
```
|
8
|
-
|
10
|
+
public void heal(Charactor target){
|
9
11
|
switch(target){
|
10
12
|
case Hero h ->{h.hp += 20;}
|
11
13
|
case Wizard w -> {w.hp += 5;}
|