All Flashcards
What is a superclass?
A general class that serves as a parent or base class for other classes.
What are subclasses?
Classes that are derived from a superclass and inherit its methods and attributes.
What is inheritance?
The ability of a subclass to inherit or acquire the properties of its parent class.
What is method overriding?
When a subclass defines a method with the same method signature as the superclass.
What is polymorphism?
The concept that you can access objects of different types through the same interface or superclass.
What is an inheritance hierarchy?
A set of classes connected by a parent-child relationship, where each class inherits characteristics from its parent.
What is the purpose of the 'super' keyword?
Used to refer to the constructor or methods of the parent class from within the subclass.
What does 'extends' keyword do?
Used in the header of a subclass to inherit from a superclass.
What is the Object class?
The superclass to all other classes in Java, defining basic methods like equals() and toString().
What does 'FRQ' stand for?
Free Response Question.
What are the differences between inheritance and polymorphism?
Inheritance: Establishes an IS-A relationship, allowing subclasses to inherit properties and behaviors. Polymorphism: Allows objects of different classes to be treated as objects of a common type.
What are the differences between method overriding and method overloading?
Overriding: Subclass provides a specific implementation of a method already defined in its superclass. Overloading: Defining multiple methods in the same class with the same name but different parameters.
What are the differences between a superclass and a subclass?
Superclass: A general class that other classes inherit from. Subclass: A specialized class that inherits properties and behaviors from a superclass.
What are the differences between Dynamic Typing and Static Typing?
Dynamic Typing: The method a computer executes on an object is determined by the run-time type of the object, not the declared type. Static Typing: The method a computer executes on an object is determined by the declared type of the object.
What are the differences between 'extends' and 'super' keywords?
'extends': Used to inherit from a superclass. 'super': Used to call the constructor or methods of the superclass from within the subclass.
What are the differences between an Interface and an Abstract Class?
Interface: Specifies a contract for classes to implement. Abstract Class: Provides a partial implementation and can contain both abstract and concrete methods.
What are the differences between Composition and Inheritance?
Composition: Building complex objects by combining simpler objects. Inheritance: Creating new classes based on existing classes, inheriting their properties and behaviors.
What are the differences between overriding and hiding a method?
Overriding: A subclass method with the same signature as a superclass method. Hiding: A subclass method with the same signature as a static superclass method.
What are the differences between early and late binding?
Early Binding: Method call is resolved at compile time. Late Binding: Method call is resolved at runtime (used in polymorphism).
What are the differences between IS-A and HAS-A relationships?
IS-A: Represents inheritance (e.g., a Dog IS-A Animal). HAS-A: Represents composition (e.g., a Car HAS-A Engine).
What is the main benefit of inheritance?
Reduces code duplication and makes code more maintainable by allowing subclasses to specialize superclass behavior without rewriting code.
Why are constructors not inherited?
Constructors are specific to the class and responsible for initializing the object's state, which may vary between superclasses and subclasses.
What determines the method executed during polymorphism?
The run-time type of the object, not the declared type, determines which method is executed.
Why override the toString() method?
To provide a human-readable string representation of an object's state, instead of the default memory reference.
What is the primary goal of Object-Oriented Programming?
To achieve abstraction, reduce code duplication, and increase code maintainability.
How does inheritance model real-world relationships?
By allowing classes to inherit properties and behaviors from more general classes, mirroring the structure of real-world objects and categories.
What is the significance of the Object class in Java?
It serves as the root of the class hierarchy, providing default implementations for essential methods and ensuring all objects share a common ancestor.
What is Dynamic Typing?
The method a computer executes on an object is determined by the run-time type of the object, not the declared type.
What is Static Typing?
The method a computer executes on an object is determined by the declared type of the object.
What is the benefit of using the super keyword?
The super keyword can be used to access the implementation in the Vehicle class, and then adds additional code to enable the car's cruise control system.