嗯,我正在考虑那种方法。他们不接收参数,但他们与他们一起工作。
一个例子:.replace(Char, Char)
对于 String API,它使用一个字符串后跟一个点。
像:
String test = "= Text = without = equals";
String output = test.replace("=","");
没有收到参数测试它是如何工作的?我只是好奇,想做这样的方法。
对不起,我的英语不好!谢谢。
这些是实例方法,这意味着它们需要实例化的类对象才能操作。因此,字符串类知道test
您示例中的值,因为它可以访问实例化数据。
要创建这些类型的方法,只需在您的类中定义它们并且不要将它们标记为静态。
字符串是一个对象。类定义是 Java 标准库的一部分。该定义包括replace
方法。
由于 String 是一个final
类,因此您不能将其子类化以添加其他方法。所以你不能做你想做的事。
假设您构建了一种新类型的字符串,它只会替换东西(为什么不呢?!):
public class MyString {
private final String s;
public MyString(String s) {
this.s = s;
}
public String replace(String search, String replace) {
return s.replace(search, replace);
}
}
现在你可以这样称呼它:
MyString myString = new MyString("= Text = without = equals");
String output = myString.replace("=", "");
瞧,你做了同样的“把戏”!你可以看到它是如何工作的:你的MyString
对象在内部保存了一些数据(s
变量),并且可以从它的方法中访问这些数据。