我想弄清楚java類如何工作。自定義字符串類
當我創建一個StringBuilder
:
StringBuilder testString = new StringBuilder("Hello World!);
如果我想,說,拿到testSting
擁有參考價值,我可以簡單地把它想:System.out.println(testString);
這是很酷的行爲,但我不確定如何在我創建的類中複製它。
舉例來說,如果我試圖重新實現的StringBuilder
我自己的版本,我想借此(爲初學者)的辦法,應該是這樣:
class MyBuilder {
char[] string;
public MyBuilder(String s) {
string = new char[s.length()];
string = s.toCharArray();
}
因此,爲了使字符串我必須將數組存儲在類的數據字段中。但是,爲了在我的代碼中訪問它,我不能通過簡單地調用變量名來打印它。我將不得不使用.property
語法。因此,要複製上面的例子,我必須輸入System.out.println(testString.value);
,這幾乎沒有那麼漂亮。
如何製作類似於String
或StringBuilder
的類,並在不手動訪問數據字段的情況下返回其值?
覆蓋'toString'。 'PrintStream.println'只是'toString'來確定字符串表示。 – oldrinb