I am a student in Java, and I am trying to understand the concepts of an Interface and an Abstract Class.
Everywhere I try to read about them, even my textbook, I can't quite understand WHEN you would use them. I have seen a few examples of an Interface - isn't it just a class that includes the shells of methods with no actual commands in them? If that is the case, doesn't that would mean you would never actually NEED to use an Interface?
I also understand an Interface cannot be instantiated, it must be implemented - but what does implementing an interface do?