Why Java needs interfaces

In this lesson, we'll talk about an important concept in Java: interfaces. You're probably familiar with the word. For example, interfaces are part of most computer programs and games. In a broad sense, an interface is a kind of "control panel" that connects two interacting parties. See the lesson to learn what exactly this word means in Java.

Useful materials

As the author of this short series of articles writes, these materials will benefit those who have figured out how to create interfaces, understand how interface inheritance works, and have implemented several examples, but still do not understand the why. The material below addresses the "application" of interfaces:

The difference between abstract classes and interfaces

In this lesson, you'll learn how abstract classes differ from interfaces, and you'll see examples of common abstract classes.

The difference between an abstract class and an interface is important. You will be asked about the difference between these concepts in 90% of your future job interviews. So be sure you understand what you read.

10 questions about abstract classes and interfaces from Java job interviews

In this article, we will look at the most common questions related to abstract classes and interfaces that are asked in job interviews for Java software development positions at various levels. Most of them are clear to even novice Java programmers. They are mainly open-ended questions, but some of them can be tricky, such as explaining the difference between abstract classes and interfaces in Java, or explaining when to prefer an abstract class over an interface.