String is having a special features. where those features are not available in normal java classes. So if we extend the string class and allows the sub class to modify according to it. then there is no meaning of having special features . so to avoid that string has been made as final .so that we cannot extend the string class.