To instantiate with new Thing(), the class must have a no-argument constructor. Option A has no explicit constructor, so compiler generates a default no-arg constructor - works. Option C explicitly defines a no-arg constructor - works. Option B is invalid syntax (void is not a valid parameter type). Option D only has a parameterized constructor, so new Thing() won't work.