回答編集履歴
1
些細
test
CHANGED
@@ -50,8 +50,8 @@
|
|
50
50
|
|
51
51
|
はprintがstaticメソッドなら正当に動くコードです。
|
52
52
|
|
53
|
-
`s.print(0);`で、"式`s`の型"がSampleで、printがSampleのstaticメソッド
|
53
|
+
`s.print(0);`では、"式`s`の型"がSampleで、printがSampleのstaticメソッドなので、静的に呼び出すメソッドが決まって、Sample.printを呼び出すようなバイトコードになります。
|
54
54
|
|
55
55
|
|
56
56
|
|
57
|
-
`new Sample().print(0)`がコンパイルを通るのは、"`new Sample()`という**式の型**"がSampleで、printがSampleのstaticメソッド
|
57
|
+
`new Sample().print(0)`がコンパイルを通るのは、"`new Sample()`という**式の型**"がSampleで、printがSampleのstaticメソッドなので、静的に呼び出すメソッドが決まるからです。結果Sample.printを呼び出すようなバイトコードになります。
|