ReviseAlgo Logo

Abstraction

9 Topics
1

Abstraction Basics

Expose stable contracts, hide complex implementation details, compare abstraction with encapsulation, and evaluate coupling.

Focuses on distinguishing encapsulation from abstraction, programming to an interface, and the architectural trade-offs of loose coupling.
2

Abstract Classes

Master abstract class specifications, partial state models, subclass instantiation rules, and parent constructor execution.

Frequently tested: abstract class constructor invocation mechanics, memory allocation during subclass construction, and final vs abstract constraints.
3

Abstract Methods

Examine abstract method signature definitions, mandatory subclass overriding contracts, and visibility constraints.

Focuses on compiler rules for classes containing abstract methods, access modifier constraints (no private/final), and exception rules.
4

Interfaces

Deconstruct interface contracts, default implicit modifiers, multiple inheritance, and API isolation.

Evaluates implicit variable modifiers (public static final), multiple interface inheritance capabilities, and class implementing contracts.
5

Default Methods

Dissect default methods in interfaces, safe API evolution strategies, and diamond conflict resolutions.

Critical: diamond problem resolution, InterfaceName.super reference syntax, and interface evolution rules.
6

Static Methods in Interfaces

Analyze static method namespaces inside interfaces, override exclusions, and utility helper implementations.

Focuses on static interface method inheritance boundaries (they are not inherited) and syntax requirements for execution.
7

Functional Interfaces

Master Single Abstract Method (SAM) contracts, @FunctionalInterface validation, and lambda integrations.

Highly tested: SAM rules, @FunctionalInterface compile checks, and integration with Java built-in function types.
8

Marker Interfaces

Evaluate tag interface patterns, runtime reflection metadata, JVM optimizations, and modern annotation comparisons.

Evaluates standard marker interfaces (Serializable, Cloneable, RandomAccess), how the JVM checks marker interfaces, and marker interfaces vs. annotations.
9

Interface vs Abstract Class

Conduct a comprehensive comparative analysis of capabilities, design heuristics, and dynamic dispatch table lookups.

Highly tested: multiple inheritance differences, state support (instance variables), when to use which, and dynamic dispatch performance (vtable vs itable).