Infosys Interview Question

What are classes / objects / abstractions / inheritances in object-oriented programming? Can you name the 5 SOLID object-oriented programming design principles? How do method overloading and method overriding work in OOP or Java? What is an abstract class in Java?