A h = new A();
h.name = "あいう";
System.out.println(h.toString());

上記の h.toString() の部分は h のみでも構わないと書籍に記載がありましたが、なぜ、h だけで、Aクラスでオーバーライドされた toString メソッドが呼び出されるのでしょうか?
そういう決まりなのでしょうか?

詳しい方、ご教示ください。よろしくお願いいたします。