Can an abstract class be defined without any abstract methods?
Yes, it’s possible. This is basically to avoid instance creation of the class.Class C implements Interface I containing method m1 and m2 declarations. Class C has provided implementation for method m2. Can I create an object for class C?
No, not possible. Class C should provide implementation for all the methods in the Interface I. Since Class C didn’t provide implementation for m1 method, it has to be declared as abstract. Abstract classes can’t be instantiated.Can a method inside an Interface be declared as final?
Not possible. Doing so will result in compilation error. Public and abstract are the only applicable modifiers for method declaration in an Interface.Can an Interface implement another Interface?
Interface doesn’t provide implementation hence an interface cannot implement another interface.Can an Interface extend another interface?
Yes an interface can inherit another Interface, for that matter an Interface can extend more than one Interface.
public interface iTest extends iTest2,iTest3{
}Can a Class extend more than one Class?
Not possible. A Class can extend only one class but can implement any number of Interfaces.Why is an Interface be able to extend more than one Interface but a Class can’t extend more than one Class?
Basically Java doesn’t allow multiple inheritance, so a Class is restricted to extend only one Class. But an Interface is a pure abstraction model and doesn’t have inheritance hierarchy like classes (do remember that the base class of all classes is object). So an Interface is allowed to extend more than one Interface.Can an interface be final?
Not Possible. Doing so will result in compilation error.Can a class be defined inside an Interface?
Yes, it’s possible.
public interface iTest extends iTest2,iTest3{
public class test{
}
}Can an interface be defined inside a class?
Yes, it’s possible.What is a Marker Interface?
An interface which doesn’t have any declaration inside but still enforces a mechanism.
Marker Interfaces are Serializable, Clonable, SingleThreadModel,Event listener.
Marker Interfaces are implemented by the classes or their super classes in order to add some functionality. E.g. Support you want to persist the state of an object then you will have to implement the Serializable interface otherwise the compiler will throw an error.