Actually, yes, it is possible to bypass the constructor when you instantiate an object, if you use objenesis to instantiate the object for you . It does bytecode manipulations to achieve this. Deserializing an object will also bypass the constructor.