好吧,我正在考虑那种方法。 他们不会重复参数,但他们会与他们合作。
示例:String API的.replace(Char, Char)
,它使用String后跟一个点。
像:
String test = "= Text = without = equals";
String output = test.replace("=","");
如果没有接受参数测试,它如何工作? 我只是好奇,想做这样的方法。
抱歉我的英语不好! 感谢。
答案 0 :(得分:0)
这些是instance methods,这意味着它们需要实例化的类对象才能运行。因此,字符串类知道示例中test
的值,因为它可以访问实例化的数据。
要创建这些类型的方法,只需在类中定义它们,不要将它们标记为静态。
答案 1 :(得分:0)
String是一个对象。类定义是Java标准库的一部分。该定义包括replace
方法。
由于String是final
类,因此您无法将其子类化以添加其他方法。所以你不能做你想做的事。
答案 2 :(得分:0)
假设您构建了一种新类型的String,它只替换了东西(为什么不呢?!):
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
变量)并可以从其方法中访问该数据。