我试图弄清楚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
or并返回其值?StringBuilder