亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何重寫java數組的toString方法?

如何重寫java數組的toString方法?

胡說叔叔 2018-08-30 21:14:59
如何重寫java數組的toString方法?實現打印數組的時候可以打出內容,而不是打印地址。int[] a = {1,2,3}; System.out.println(a);數組也是一種引用類型,那么這種引用類型的實現源碼在哪呢?
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

嚴格來講,java無法重寫/覆蓋任何類本身的方法,只能通過繼承,在子類中重寫,但此時原先那個類的方法實際上并沒有改變。

所以,無法做到你說的,重寫數組的toString方法然后下次打印數組的時候就會按照自定義的方式打印了。

比如

class Parent { 
   public void m() {
        ...
    }
}
class Child entends Parent {  
  public void m() {
        ...
    }
}

Parent p = new Parent();
p.m();

最終p調用的仍然是自己的m方法,而不是子類中定義的。

不過這一問題對某些其他語言來說倒是可以實現,比如javascript,python。這些語言可以直接改變某個類,改變后可影響到所有該類的實例(無論是之前創建的還是之后創建的)。

第二個問題,數組是java的內置類型,其并不是由java語言實現的。要想找實現代碼就得去虛擬機的源碼中找了。


查看完整回答
反對 回復 2018-09-16
  • 2 回答
  • 0 關注
  • 1848 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號