Dlaczego klasa Java deklaruje ostateczną wersję Java?
Od kiedy dowiedziałem się, że klasajava.lang.String
jest zadeklarowany jako ostateczny w Javie, zastanawiałem się, dlaczego tak jest? Wtedy nie znalazłem żadnej odpowiedzi, ale ten post:Jak stworzyć replikę klasy String w Javie? przypomniało mi moje zapytanie.
Oczywiście String zapewnia całą funkcjonalność, jakiej kiedykolwiek potrzebowałem, i nigdy nie myślał o żadnej operacji, która wymagałaby rozszerzenia klasy String, ale wciąż nie będziesz wiedział, czego ktoś może potrzebować!
Czy więc ktoś wie, jakie były intencje projektantów, kiedy zdecydowali się na finalizację?