Interface methods in Java are implicitly public and abstract, making void run(); a perfectly valid declaration. Using the protected modifier is illegal for interface methods, and public abstract set(); is invalid because it fails to specify a return type.