练习1
EatableDemo
package com.itheima_06; public class EatableDemo { public static void main(String[] args) { Eatable e=new EatableImpl(); useEatable(e); //匿名内部类 useEatable(new Eatable() { @Override public void eat() { System.out.println("一天一苹果,医生远离我"); } }); //lambda表达式 useEatable(() ->{ System.out.println("一天一苹果,医生远离我"); }); } private static void useEatable(Eatable e){ e.eat(); } }
EatableImpl
package com.itheima_06; public class EatableImpl implements Eatable { @Override public void eat() { System.out.println("一天一苹果,医生远离我"); } }
Eatable
package com.itheima_06; public interface Eatable { public void eat(); }
练习2
带参数的练习
FlyableDemo
package com.itheima_07; public class FlyableDemo { public static void main(String[] args) { useFlyable(new Flyable() { @Override public void fly(String s) { System.out.println(s); System.out.println("飞机自驾游"); } }); System.out.println("----------"); //Lambda useFlyable((String s) ->{ System.out.println(s); System.out.println("飞机自驾游"); }); } private static void useFlyable(Flyable f) { f.fly("风和日丽,晴空万里"); } }
Flyable
package com.itheima_07; public interface Flyable { void fly(String s); }
练习3
AddableDemo
package com.itheima_08; public class AddableDemo { public static void main(String[] args) { useAddable((int x,int y) -> { return x + y; } ); } private static void useAddable(Addable a){ int sum=a.add(10,20); System.out.println(sum); } }
Addable
package com.itheima_08; public interface Addable { int add(int x,int y); }