| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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();
- }
- }
|