Methods declared in an interface are inherently coderanch, even if you don't include the keyword. Therefore the implemented method must be public in any class. In any event, answers 1 and 2 are mutually exclusive, so its either/or.
The synchronized keyword is not inheritable. Any method can be synchronized regardless of the method it is overriding.
------------------
Michael Ernest, co-author of:
The Complete Java 2 Certification Study Guide