दोनों abstract types परिभाषित करते हैं जिन्हें सीधे instantiate नहीं किया जा सकता और जिन्हें implement/extend किया जाना होता है — लेकिन वे अलग-अलग design उद्देश्यों की पूर्ति करते हैं। मुख्य अंतर हैं multiple inheritance, state, और वह संबंध जिसे वे model करते हैं।
Interface — एक contract ("can-do" / capability)
{
;
{
System.out.println();
}
;
}
{
{ }
}
