In Java, every Thread must implement the run() method, which contains the code that executes in the thread. The start() method is called to begin execution but is not implemented by subclasses - run() is the method you override with your thread's logic.