Thừa kế là một tính năng quan trọng trong lập trình hướng đối tượng. Thông thường ở các ngôn ngữ khác như C/C++ có đơn và đa thừa kế. Thế nhưng đối với java chỉ hỗ trợ đơn thừa kế.
Không giống như abstract class, interface được sử dụng để biểu diễn 100% tính trừu tượng. Trong một interface các method sẽ mặc định là abstract method.