Bean classes must not be final in order to grant maximum freedom to the container providers when they have to integrate your beans into their container. The integration can be done in several ways. The three most common ways are delegation, extension and code generation. In case of extension, the container-specific classes must be able to extend from your bean class in order to integrate it in the container. Don't worry too much about this for the exam, you won't be tested on any container-specific stuff