QUESTION 1: A) Explain what Inheritance is B) What are the advantages of Inheritance C) What are the problems of Inheritance D) Explain with code, why Java doesn't accept multiple inheritance E) Demonstrate with a practical example how you can implement single level inheritance F) Demonstrate with a practical example how you can implement multi level inheritance QUESTION 2: A) Explain what Aggregation in Java is B) What are the advantages of Aggregation C) What are the problems of Aggregation D) Demonstrate with a practical example how you can implement Aggregation in Java QUESTION 3: A) What are inner classes in Java B) Demonstrate with a practical example how you can implement inner classes in Java QUESTION 4: A) What is encapsulation in Java? B) Demonstrate with a practical example how you can implement encapsulation in Java QUESTION 5: A) Java supports method overloading, explain what it means B) Explain the advantages of method overloading C) Demonstrate with a practical example how you can implement method overloading in Java QUESTION 6: A) Java supports method overriding, explain what it means B) Explain the advantages of method overriding C) Demonstrate with a practical example how you can implement method overriding in Java QUESTION 7: A) Explain what polymorphism is in Java B) Demonstrate with a practical example how you can implement runtime polymorphism in Java QUESTION 8: A) Explain what you understand by the term "Abstraction in Java" B) Demonstrate with a practical example how you can implement Abstraction in Java with abstract classes C) Demonstrate with a practical example how you can implement Abstraction in Java with interfaces D) Demonstrate with a practical example how you can implement inheritance within interfaces QUESTION 9: A) Explain what a package is in Java B) Why do we need packages in Java C) Demonstrate with a practical example how you can implement packages in Java QUESTION 10: A) Explain what constructors in Java are B) Demonstrate with a practical example how