Page 81 of EJB in action: PostConstruct and PreDestroy methods can be have any access modifier. I can't understand, how is this permitted and how can this work fine. I had a private @PostConstruct method in a stateless session bean and it worked fine. Since PostConstruct is just a method call, how can container which is outside the class invoke a private method. Please explain.