I was looking at the session bean example and it says the following - Any session bean must meet the following requirements - 1) It implements the SessionBean interface 2) The class is defined as public 3) The class cannot be abstract or final 4) It implements one or more ejbCreate methods 5) It implements the business methods 6) It must not define the finalize method I can understand requirements 1,2,4,5, but not 3 & 6. 3) Why can't we define the class as final?? Does this mean that we can define inheritance hierarchies among the user's bean classes? Where does such need typically arise? 6) I understand the finalize method is called by the garbageCollection API when the instance is being destroyed. Does this mean that all the destruction procedure will be taken care of by the container and hence the user is not allowed to write his own finalize() method??