Core java - Advance Topics
  • Welcome
  • Schedule
  • 1) Exception Handling
    • 1) Introduction to Exception Handling
    • 2) Categories of Exceptions
    • 3) Creating a method that throws an exception
    • 4) Creating Custom Exception Classes
    • 5)What happens when an exception is thrown?
      • 5.1) Creating try-catch-finally blocks
      • 5.2) Using a method that throws a checked exception
      • 5.3) Using a method that throws a runtime exception
      • 5.4) Using a method that throws an error
      • 5.5) Will a finally block execute even if the catch block defines a return statement?
      • 5.6) What happens if both a catch and a finally block define return statement?
      • 5.7) What happens if a finally block modifies the value returned from a catch block?
      • 5.8) Can a try block be followed only by a finally block?
      • 5.9) Does the order of the exceptions caught in the catch blocks matter?
      • 5.10) Can I rethrow an exception or the error I catch?
      • 5.11) Can I declare my methods to throw a checked exception instead of handling it?
      • 5.12) I can create nested loops, so can I create nested try-catch blocks too?
      • 5.13) Should I handle errors?
    • 6) Best Practices
    • 7) Cheat Sheet
    • 8) Problems
  • 2) Wrapper Classes and Enums
    • 2.1) Creating objects of the wrapper classes
    • Enums
  • 3) Inner Classes
    • 3.1) Static nested class (also called static inner class)
    • 3.2) Inner class (also called member class)
    • 3.3) Anonymous inner class
    • 3.4) Method local inner classes
    • CheatSheet
  • 4) Generics
    • Multiple Type parameters in Generic classes
    • Inheritance using Generics
    • Generic interfaces
    • Generic Methods
    • Bounded type parameters
    • Applications
  • 5) Equals and Hashcode
    • Problems
  • CompareTo method overview
  • Basic DS
    • 1) Simple Array List
    • 2) Simple HashMap
  • 5) Collections Framework - Part 1
    • Introducing the collections framework
    • Working with the Collection interface
      • The core Collection interface
      • Methods of the Collection interface
    • Creating and using List, Set, and Deque implementations
      • List interface and its implementations
      • Iterators
      • Sorting List using custom sorting technique
      • Comparable Interface
      • Custom Sorting using comparator
      • ArrayList - Examples and practice problems
    • Stack
    • Linked List
    • LinkedList Operations
  • 6) Collections Framework - Part 2
    • Sets
      • Set Types
      • Array to Set (vice versa)
    • Maps
    • TreeMap
    • Autoboxing And Unboxing
  • Collections Framework - Part 3
    • Basics : DS , Number System
    • Internal Working
      • HashMap
      • HashSet
  • 7) Reflection API
  • 8) Annotations
  • 9) Reading Input From Various Sources
    • File Handling
    • Reading From Xml
    • Reading From JSON
  • 10) Multi-threading (Concurrency)
    • Protect shared data
    • Thread-safe access to shared data
  • 11) Design Patterns
    • Singleton
    • DI
  • 12) Internal Working of JVM
  • 13) Garbage Collection
  • 14) More on Strings (Buffer and Builder)
  • 15) Cloning and Immutable Class
    • 16) Serialization And Deserialization
    • Untitled
  • JAVA 8
    • Interface Changes
    • Lambda
    • Method Ref
    • Optional
    • Streams
    • Predicates
  • Practice Tests
    • Test - Collections
    • OOPS
    • S-OOPS
Powered by GitBook
On this page

Was this helpful?

  1. JAVA 8

Method Ref

-------------Ex:1----------------

package com.gs.iilp.corejava.java8;

interface Walkable {
	public void walk();
}

public class MethodRef1 {

	public static void tryWalking() {
		System.out.println("Method ref 1 class trying walking ");
	}

	public static void tryWalking2() {
		System.out.println("Method ref 1 class trying walking 2");
	}

	public static void main(String[] args) {
		Walkable walkable = MethodRef1::tryWalking;
		walkable.walk();

		walkable = MethodRef1::tryWalking2;
		walkable.walk();
	}
}

-------------Ex:2----------------

package com.gs.iilp.corejava.java8;

interface Walkable {
	public void walk();
}

public class MethodRef1 {

	public static void tryWalking() {
		System.out.println("Method ref 1 class trying walking ");
	}

	public static void tryWalking2(int param) {
		System.out.println("Method ref 1 class trying walking "+ paramF);
	}

	public static void main(String[] args) {
		Walkable walkable = MethodRef1::tryWalking;
		walkable.walk();

		walkable = MethodRef1::tryWalking2;
		walkable.walk();
	}
}



-------------Ex:3---------------- 

package com.gs.iilp.corejava.java8;

interface Walkable {
	public void walk();
}

public class MethodRef1 {

	public void tryWalkingThroughInstance() {
		System.out.println("Method ref 1 class trying walking through instance var ");
	}

	public static void main(String[] args) {
		Walkable walkable = new MethodRef1()::tryWalkingThroughInstance;
		walkable.walk();
	}
}



-------------Ex:4---------------- 

package com.gs.iilp.corejava.java8;

interface Walkable {
	public void walk();
}

public class MethodRef1 {

	public MethodRef1() {
		System.out.println("Method ref 1 class trying walking through no args constructor  ");
	}

	public static void main(String[] args) {
		Walkable walkable = MethodRef1::new;
		walkable.walk();
	}
}




-------------Ex:5---------------- 

package com.gs.iilp.corejava.java8;

interface Walkable {
	public void walk();
}

public class MethodRef1 {

	public MethodRef1(String param) {
		System.out.println("Method ref 1 class trying walking through 1 arg constructor with param " + param);
	}

	public static void main(String[] args) {
		Walkable walkable = MethodRef1::new;
		walkable.walk();
	}
}


-------------Ex:6----------------  

package com.gs.iilp.corejava.java8;

interface Walkable {
	public void walk(String param);
}

public class MethodRef1 {

	public MethodRef1(String param) {
		System.out.println("Method ref 1 class trying walking through 1 arg constructor with param " + param);
	}

	public static void main(String[] args) {
		Walkable walkable = MethodRef1::new;
		walkable.walk("Sample param");
	}
}


-------------Ex:7----------------  

package com.gs.iilp.corejava.java8;

import java.util.function.BiFunction;

class Arithmetic {
	public int add(int a, int b) {
		return a + b;
	}
}

public class MethodRef1 {

	public static void main(String[] args) {
		BiFunction<Integer, Integer, Integer> biFunction = new Arithmetic()::add;
		int res = biFunction.apply(4, 6);
		System.out.println("Res is " + res);
	}
}

-------------Ex:8----------------  

package com.gs.iilp.corejava.java8;

import java.util.function.BiFunction;

class Arithmetic {
	public int add(int a, int b, int c) {
		return a + b + c;
	}
}

public class MethodRef1 {

	public static void main(String[] args) {
		BiFunction<Integer, Integer, Integer> biFunction = new Arithmetic()::add;
		int res = biFunction.apply(4, 6);
		System.out.println("Res is " + res);
	}
}
PreviousLambdaNextOptional

Last updated 5 years ago

Was this helpful?