1

嗯,我正在考虑那种方法。他们不接收参数,但他们与他们一起工作。

一个例子:.replace(Char, Char) 对于 String API,它使用一个字符串后跟一个点。

像:

String test = "= Text = without = equals";
String output = test.replace("=","");

没有收到参数测试它是如何工作的?我只是好奇,想做这样的方法。

对不起,我的英语不好!谢谢。

4

3 回答 3

0

这些是实例方法,这意味着它们需要实例化的类对象才能操作。因此,字符串类知道test您示例中的值,因为它可以访问实例化数据。

要创建这些类型的方法,只需在您的类中定义它们并且不要将它们标记为静态。

于 2013-04-15T15:12:49.113 回答
0

字符串是一个对象。类定义是 Java 标准库的一部分。该定义包括replace方法。

由于 String 是一个final类,因此您不能将其子类化以添加其他方法。所以你不能做你想做的事。

于 2013-04-15T15:12:51.313 回答
0

假设您构建了一种新类型的字符串,它只会替换东西(为什么不呢?!):

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变量),并且可以从它的方法中访问这些数据。

于 2013-04-15T15:13:01.513 回答