Nearby lessons
92 of 125Java - Method References (::)
📌 What You Will Learn
- Lambda expressions — the big change
- Functional interfaces
- Default and static methods in interfaces
- The four workhorses: Predicate, Function, Consumer, Supplier
- Method references (::)
- The Stream API for processing collections
- Optional — safe null handling
- The new Date and Time API
Method References (::) is a core concept of the Java language. This lesson explains Method References (::) with complete, runnable code examples, clear step-by-step explanations, and common mistakes to avoid with exam-style MCQs at the end.
Method References (::)
A method reference is a shorthand for a lambda when you are just calling an existing method. The :: symbol does it:
| Type | Syntax | Example |
|---|---|---|
| Static method | Class::method | Math::max |
| Instance method | object::method | System.out::println |
| Instance of any object | Class::method | String::toUpperCase |
| Constructor | Class::new | Student::new |
Example01
📝 Key Takeaways
- Lambda = a function without a name; (params) -> logic.
- Functional interface = one abstract method, so a lambda can implement it.
- Interfaces now have default and static methods with bodies.
- Predicate (test), Function (apply), Consumer (accept), Supplier (get) are the four core functional interfaces.
- Method references (::) are shorthand for lambdas.
- Streams process collections with filter/map/sorted/collect pipelines.
- Optional prevents NullPointerException with orElse/isPresent.
- java.time (LocalDate, LocalDateTime) replaces the old Date/Calendar cleanly.
🧠 Test Your Knowledge
1 QuestionsProgress: 0 / 1