0

我们可以通过扩展String类来覆盖我们类中String类的所有方法吗?

4

6 回答 6

12

String是类你final不能extend

您可能也有兴趣知道它为什么是final以及为什么不能扩展它,核心原因是它的不变性


于 2012-05-16T06:33:18.717 回答
4

String没有final,因此不能延长。

于 2012-05-16T06:33:52.060 回答
2

你不能这样做,因为 String 类是 Final。

于 2012-05-16T06:35:47.693 回答
1

我不明白您为什么要覆盖 String 方法。

你不能这样做String class is final

但是您可以使用如下组合为 String 方法添加额外的功能

public class Example{
private String str;
public Example(String str){
    this.str=str;
}
public int length(){
    return str.length()+1;
}
于 2012-05-16T06:47:25.560 回答
0

您不能覆盖final类,其中String之一。

但是,您可以使用 String 辅助函数创建自己的类。

例如,

public class StringHelper
{
    public static String DoSomethingHelpfulToAString(String stringToDoStuffTo)
    {
        return "This string is now helpful";
    }
}

然后,只需在您的字符串上使用辅助函数:

string stringToModify = "blah";
string modifiedString = StringHelper.DoSomethingHelpfulToAString(stringToModify);
于 2012-05-16T06:39:46.050 回答
0

String是一个final类,因此你不能有另一个类extend

于 2012-05-16T07:05:23.217 回答