Ummm... because you called validateC() from the constructor? It's always possible to access a class method from within a constructor - why not? (There may be complications if the method is later overridden, but that's not possible here since it's private.) I'm not sure what you're asking.