package course; /** * @author WanJl * @version 1.0 * @title SwimmingTest * @description * @create 2026/8/3 */ public class SwimmingTest { public static void getSwimming(Swimming s){ s.swim(); } public static void main(String[] args) { //实现Swimming接口并且重新swim()方法的方式,以前有两种: //1、建立实现类,创建实现类对象。 //2、创建Swimming的匿名内部类,并且重写方法 getSwimming(new Swimming(){ @Override public void swim() { System.out.println("自由泳.....自由....免费"); } }); //3、使用lambda表达式--其实就是另一种形式的匿名内部类 getSwimming( ()->{ System.out.println("蛙游.....呱....呱"); } ); Swimming swimming = new Swimming() { @Override public void swim() { System.out.println("自由泳.....自由....免费"); } }; swimming.swim(); //lambda表达式 Swimming sw= ()->{ System.out.println("蛙游.....呱....呱"); }; //前面我们定义了格式规则:Swimming接口,并且里面只有一个需要重写的抽象方法。 //那么()能够指向的就只有一个需要重写的抽象方法,->指向的就是{代码块}也就是重写抽象方法的代码块内容 sw.swim(); } }