Keduanya mendefinisikan tipe abstrak yang tidak dapat diinstansiasi langsung dan dimaksudkan untuk diimplementasikan/diperluas — tetapi mereka melayani tujuan desain yang berbeda. Perbedaan utamanya adalah multiple inheritance, state, dan hubungan yang mereka modelkan.
Interface — sebuah kontrak ("can-do" / kapabilitas)
{
;
{
System.out.println();
}
;
}
{
{ }
}
