回答編集履歴

1

些細

2020/06/27 06:11

投稿

quickquip
quickquip

スコア11046

test CHANGED
@@ -50,8 +50,8 @@
50
50
 
51
51
  はprintがstaticメソッドなら正当に動くコードです。
52
52
 
53
- `s.print(0);`で、"式`s`の型"がSampleで、printがSampleのstaticメソッドだから、静的に呼び出すメソッドが決まって、Sample.printを呼び出すようなバイトコードになります。
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メソッドだから、静的に呼び出すメソッドが決まって、Sample.printを呼び出すようなバイトコードになります。
57
+ `new Sample().print(0)`がコンパイルを通るのは、"`new Sample()`という**式の型**"がSampleで、printがSampleのstaticメソッドなので、静的に呼び出すメソッドが決まるからです。結果Sample.printを呼び出すようなバイトコードになります。