Why, oh, why is java.net.URL a final class? I am using Apache Commons VFS in our server and I thought I would subclass URL and do some magic to transparently handle VFS URLs where JRE URLs could be normally used. It can’t be done since a final class is, well, final, you cannot subclass it. Is there some JVM code hardwired to the URL class like there is for String? Who knows… Blech.