Given the following piece of code:
public interface Guard{
void doYourJob();
}
abstract public class Dog implements Guard{ }
which of the following statements is correct?
public interface Guard{
void doYourJob();
}
abstract public class Dog implements Guard{ }
A. This code will not compile, because method doYourJob() in interface Guard must be defined abstract.
B. This code will not compile, because class Dog must implement method doYourJob() from interface Guard.
C. This code will not compile, because in the declaration of class Dog we must use the keyword extends instead of implements.
D. This code will compile without any errors.
Answer: Option D
Join The Discussion
Comments ( 1 )
A. A contract specifying a set of methods that a class must implement
B. A class that cannot be instantiated
C. A class that contains only static methods
D. A subclass of the Object class
In Java, can a class implement multiple interfaces?
A. Interfaces cannot be implemented by classes
B. Only abstract classes can implement interfaces
C. No, a class can only implement one interface
D. Yes, a class can implement multiple interfaces
What is the purpose of an abstract class in Java?
A. To declare abstract methods
B. To provide a base class with common methods and fields
C. To make a class final
D. To declare abstract methods
Abstract class needs to declare one abstract method. Here interface method is by default abstract and hence the code compiles.