Robot.java
package com.zakilive.ooplearningbyme; public class Robot implements Walkable { public void walk(){ System.out.println("Robot Walking"); } }
Human.java
package com.zakilive.ooplearningbyme; public class Human implements Walkable { public void walk(){ System.out.println("Human walking"); } }
Walkable.java it is interface
package com.zakilive.ooplearningbyme; public interface Walkable { public void walk(); }
Application.java it is main class to print
package com.zakilive.ooplearningbyme; public class Applicatrion { public static void main(String[] args) { Human tom=new Human(); tom.walk(); Robot wale=new Robot(); wale.walk(); walker(new Walkable() { @Override public void walk() { System.out.println("Custom object walking...."); } }); } public static void walker(Walkable walkableEntity){ walkableEntity.walk(); } }
Turning Application main class into lambda:
package com.zakilive.ooplearningbyme; public class Applicatrion { public static void main(String[] args) { Human tom = new Human(); tom.walk(); Robot wale = new Robot(); wale.walk(); //type must be a functional interface and in functional interface there minimum one abdstract method which cannot have a body ALambdaInterface aBlockOfCode = () -> { System.out.println("Custom object walking...."); System.out.println("the object tripped...."); }; // walker( () -> { // System.out.println("Custom object walking...."); // System.out.println("the object tripped...."); // }); } public static void walker(Walkable walkableEntity){ walkableEntity.walk(); } }