- 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.
本文探讨了Java中抽象类和接口的相关概念,包括抽象类是否可以没有抽象方法、类如何实现接口的方法、接口内方法能否声明为final、一个类是否可以继承多个类等问题,并解释了标记接口的作用。
1104

被折叠的 条评论
为什么被折叠?



