官术网_书友最值得收藏!

  • Scala編程(第5版)
  • (德)馬丁·奧德斯基等
  • 359字
  • 2022-05-06 15:51:44

6.3 重新實現toString方法

當我們在前一節中構建Rational實例時,編譯器打印了“Rational@ 5dc7841c”。編譯器是通過對Rational對象調用toString方法來獲取這個看上去有些奇怪的字符串的。Rational類默認繼承了java.lang.Object類的toString實現,這個實現只是簡單地打印出類名、@符號和一個十六進制的數字。toString方法的主要意圖是幫助程序員,在調試輸出語句、日志消息、測試失敗報告,以及編譯器和調試器輸出中給出相應的信息。目前由toString方法提供的結果并不是特別有幫助的,因為它沒有給出關于有理數的值的任何線索。一個更有用的toString實現可能是打印出Rational對象的分子和分母??梢酝ㄟ^給Rational類添加toString方法來重寫override)默認的實現,就像這樣:

在方法定義之前的override修飾符表示前一個方法定義被重寫覆蓋了(第10章有更多相關內容)。由于Rational(有理數)現在可以漂亮地顯示了,我們移除了先前版本的Rational類中那段用于調試的println語句。可以在編譯器中測試Rational類的新行為:

主站蜘蛛池模板: 揭西县| 府谷县| 阜阳市| 白城市| 岑巩县| 赤峰市| 庐江县| 界首市| 阿拉善左旗| 资中县| 六盘水市| 静宁县| 天柱县| 博湖县| 浪卡子县| 德阳市| 广东省| 高邮市| 河曲县| 手游| 吉木乃县| 延长县| 澄迈县| 新化县| 新建县| 巴彦县| 渭南市| 河西区| 冷水江市| 河曲县| 黎川县| 嵩明县| 静乐县| 上高县| 黄陵县| 房产| 新田县| 二手房| 贵溪市| 景洪市| 玉门市|