Java にメソッド引数デフォルト値は存在しない
存在するのかしないのか、私自身も、C++ と混同していて、Java で使ったことはないけど(オーバーロードは使ってたけど)、実はあるんだっけ?となって即答出来なかったのでメモ。
C++ には存在するが、Java には存在しないというのが答え。JavaHouse-Brewers ML にそれに関する議論があった。
http://java-house.jp/ml/archive/j-h-b/042280.html#body
から始まる一連のスレッドがそれ。なんで無いかという理由は、引数デフォルト値は読みにくくなる、「一つの目的のための実現手段が複数あり、なおかつ無視できないほど相互に干渉する」・・といったところ。
class A { void foo() { foo(10); }; void foo(int param = 10) { : }; };