0

Stringクラスを拡張することで、クラス内のStringクラスのすべてのメソッドをオーバーライドできますか?

4

6 に答える 6

12

Stringfinalできないextendクラスです

finalまた、なぜそれがなぜであり、なぜそれを拡張できないのかを知りたいと思うかもしれません。主な理由はその不変性です


見る

于 2012-05-16T06:33:18.717 に答える
4

いいえ。したがって、拡張することStringfinalできません。

于 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クラスをオーバーライドすることはできません。そのうちのString1 つです。

ただし、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

Stringfinalクラスであるため、別のクラスを持つことはできませんextend

于 2012-05-16T07:05:23.217 に答える