通常 Google guice の使い方は、インターフェースに対する実装クラスのインスタンスが
割り当てられるように bind定義を書いてDIを実装する。
うっかりというか、諸事情で見落として、
@Inject private Foo foo;
と書いた Fooクラスが、インターフェースでもなくただのクラスで、引数なしのデフォルト
コンストラクタを持つクラスだった場合、
bind定義も書かなかった場合、
インジェクションされずに、null で Foo のメソッドを実行できないのか?
いや、guice は、この場合、bind定義を書かなくても、引数なしのデフォルト
コンストラクタを持つ場合は、NullpointerException にはならずに、インスタンスを
インジェクションしてくれてメソッドを実行できる。
この柔軟さが良いような、もっとちゃんとチェックしてエラーにして欲しいような
悩ましい