2012-05-16 4 views
0

Можем ли мы переопределить все методы класса String в нашем классе, расширив класс String?Переопределить методы строки java

+4

В чем проблема, связанная с тем, что вы хотите переопределить метод String? – Crazenezz

+2

Вам когда-нибудь приходилось *** попробовать? *** –

ответ

11

String является final класс вы не можете extend это

Вы также может быть интересно узнать, почему это final и почему вы не можете продлить его, Основная причина является его неизменность


См

2

Вы не можете сделать это, поскольку класс String - Final.

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); 
1

Я не понимаю, почему вы хотите, чтобы переопределить методы String.

Вы не можете сделать это как String class is final.

, но вы можете добавить дополнительные функциональные возможности к методам Струнные с помощью композиции, как ниже

public class Example{ 
private String str; 
public Example(String str){ 
    this.str=str; 
} 
public int length(){ 
    return str.length()+1; 
} 
0

String является final класс и, таким образом, вы не можете иметь другой класс extend его.

Смежные вопросы