public class Main { class myString { public int x() { return 3; } } // OK class StringSubClass1 extends myString { @Override public int x() { return 4; } } // Error: The type StringSubClass2 cannot subclass the final class String class StringSubClass2 // extends String { } public static void main(String[] args) { } }