Relations among class, abstract class & interface:
- A class can extends another class
- A class need to implements interface
- An interface extends another interface
- All relations among class, abstract class and interface as follows.
- A class or abstract class can extends only one class.
- Multiple classes can have the same set of members(for example method with different logic)
- When a class can extend multiple classes, collisions occur while collecting the method with different logic. Hence trying to extend multiple classes results error.
class First
{
}
class Second
{
}
class Third extends First, Second
{
}
- A class can extends another class along with multiple interfaces implementation.
- Interface contains only specifications need to be overridden in implemented class.
- As there is no pre-defied logic, it is allowed to implement multiple interfaces from one class.
class First
{
public void fun( ) { }
}
interface Second
{
void fun( );
}
interface Third
{
void fun( );
}
class Test extends First implements Second, Third
{
}
- One class can implement number of interfaces.
- Class need to override the specifications of those interfaces.
interface First
{
}
interface Second
{
}
class Third implements First, Second
{
}