teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

修正

2015/09/26 17:17

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -40,4 +40,29 @@
40
40
 
41
41
  いまいちスッキリ理解できていないのでもし分かる方がいれば教えていただきたいです。
42
42
 
43
- 実際の試験時は「継承のダウンキャストは実行時に例外が発生する」ととりあえず解答しようと思いますが、このままだと腑に落ちないし、もしそうでないときもあるのならと思い、しっかり理解したいと思いました。
43
+ 実際の試験時は「継承のダウンキャストは実行時に例外が発生する」ととりあえず解答しようと思いますが、このままだと腑に落ちないし、もしそうでないときもあるのならと思い、しっかり理解したいと思いました。
44
+
45
+
46
+
47
+ 追記
48
+ ```java
49
+ class A{
50
+ void hello(){
51
+ System.out.println("A");
52
+ }
53
+ }
54
+
55
+ class B extends A{
56
+ void hello(){
57
+ System.out.println("B");
58
+ }
59
+ }
60
+
61
+ public class Main{
62
+ public static void main(String[] args){
63
+ A a=new A();
64
+ B b= (B)a;
65
+ b.hello();
66
+ }
67
+ }
68
+ ```

1

修正

2015/09/26 17:17

投稿

k499778
k499778

スコア599

title CHANGED
File without changes
body CHANGED
@@ -4,21 +4,7 @@
4
4
  以下のコードは実行時に例外がスローされ、ClassCastExceptionが発生します。
5
5
  そうなるのはわかったのですが、なぜそうなるかがわかりません。
6
6
 
7
- 黒本 p277にはbbインスタンスにはccインスタンスの差分が含まれていないため、例外が発生する。
8
- といったようなことが書いています。
9
7
 
10
- **そうすると以下は差分がないため、例外が発生しないような気がするのです。**
11
- **もしくはデフォルトコンストラクタがその差分に当たるのでしょうか?**
12
-
13
- **もしそうなら継承の関係においてダウンキャスト時に例外がスローされないケースはあるのでしょうか?**
14
-
15
- **そもそも私の黒本の解説の解釈に少し誤りがあるのでしょうか?**
16
-
17
- いまいちスッキリ理解できていないのでもし分かる方がいれば教えていただきたいです。
18
-
19
- 実際の試験時は「継承のダウンキャストは実行時に例外が発生する」ととりあえず解答しようと思いますが、このままだと腑に落ちないし、もしそうでないときもあるのならと思い、しっかり理解したいと思いました。
20
-
21
-
22
8
  ```java
23
9
  public class aa{
24
10
 
@@ -39,4 +25,19 @@
39
25
  System.out.println("ccクラスです。");
40
26
  }
41
27
  }
42
- ```
28
+ ```
29
+
30
+
31
+ 黒本 p277にはbbインスタンスにはccインスタンスの差分が含まれていないため、例外が発生する。
32
+ といったようなことが書いています。
33
+
34
+ **そうすると以下は差分がないため、例外が発生しないような気がするのです。**
35
+ **もしくはデフォルトコンストラクタがその差分に当たるのでしょうか?**
36
+
37
+ **もしそうなら継承の関係においてダウンキャスト時に例外がスローされないケースはあるのでしょうか?**
38
+
39
+ **そもそも私の黒本の解説の解釈に少し誤りがあるのでしょうか?**
40
+
41
+ いまいちスッキリ理解できていないのでもし分かる方がいれば教えていただきたいです。
42
+
43
+ 実際の試験時は「継承のダウンキャストは実行時に例外が発生する」ととりあえず解答しようと思いますが、このままだと腑に落ちないし、もしそうでないときもあるのならと思い、しっかり理解したいと思いました。