Hi. Because this class is not supposed to be created by user, only Servlet Container can create instances of servlet (it does not make much sense to have servlet object outside servlet container). And every vendor has it's proprietary implementation of concrete servlet class, which is created inside servlet container. Cheers !
supose you have three classes: Car, FordFocus,FordF250 suppose you have three guys: A,B, C, each one can have a car: A.setCar(new FordFocus()); b.setCar(new FordF250()); c.setCar(new Car());//this has no usefull meaning The point is, Car is so abstract that we can't create cars of this class... The same aplies to HttpServlet, Servlet, GenericServlet... If we could create HttpServlets by just calling one constructor they wouldn't be usefull. Each Servlet MUST be implemented.