Select three correct statements.
-
) A static method may override another static method
-
A static method cannot override a non-static method
-
non-static method cannot override a static method
-
A non-static method may be overloaded by a static method
-
A synchronized method cannot be overridden
Option A is incorrect because static methods are hidden (not overridden) in subclasses - a static method in a subclass with the same signature hides the parent's static method. Option B is correct - a static method cannot override a non-static method because they belong to different scopes (class vs instance). Option C is correct - a non-static method cannot override a static method for the same reason. Option D is correct - method overloading is valid between static and non-static methods since they have different signatures (static vs instance context). Option E is incorrect - synchronized methods can be overridden; synchronization is an implementation detail, not a contract restriction.