These three are often confused: 'final' keyword makes a variable constant, a method un-overridable, or a class non-inheritable. 'finally' is a block in exception handling that ALWAYS executes, even if an exception occurs or a return statement is hit. 'finalize' is a deprecated method called by the Garbage Collector before destroying an object (not recommended for modern Java).
Final: A birth date (cannot change). Finally: Closing the door when you leave a room (whether you finished your work or had an accident, you must close the door). Finalize: The cleanup crew coming to clean your room after you check out of a hotel.
Does the 'finally' block execute if the 'try' block has a 'return' statement? Explain with code.