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