回答編集履歴
1
追記
answer
CHANGED
@@ -4,4 +4,25 @@
|
|
4
4
|
|
5
5
|
本題とはあまり関係ないかもしれませんが、
|
6
6
|
`new cc(){}`は`cc`クラスの匿名サブクラスのインスタンス生成になっています。
|
7
|
-
これは意図的なものでしょうか?
|
7
|
+
これは意図的なものでしょうか?
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
(追記)
|
12
|
+
|
13
|
+
最初と言っていることが変わってしまいますが...
|
14
|
+
|
15
|
+
|
16
|
+
差分というのは、おそらくJava以外の言語(C++ とか?)の継承のケースのことを言っているのではないかと思いました。ただ、この辺はあまり詳しくないので自信はないです。
|
17
|
+
|
18
|
+
Java言語仕様のことではなく、たとえのような意味でいっているとしたらそれはそれで語弊があるような気もします。
|
19
|
+
|
20
|
+
|
21
|
+
言語仕様に拠れば、Javaの場合は、差分でなく、主に継承関係のチェックだけでダウンキャスト(Narrowing Reference Conversion)が可能かをチェックしています。
|
22
|
+
|
23
|
+
|
24
|
+
言語仕様の最新版(Java8)は英語ですが下記です。(5.1.6)
|
25
|
+
[Chapter 5. Conversions and Contexts - Java Languate Specification](https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.1.6)
|
26
|
+
|
27
|
+
日本語版は少し古いですが、下記ページの「5.1.5 参照型の縮小変換」を参照して下さい。
|
28
|
+
[Java言語規定 変換及び昇格](http://www.y-adagio.com/public/standards/tr_javalang/5.doc.htm#25379)
|