含义:匿名内部类就是一个没有名称的内部类,在调用包含接口类型参数的方法时,为了简化代码,不会创建一个接口的实现类作为方法参数传入,而是直接通过匿名类的方式传入一个接口类型参数,在匿名内部类中直接完成方法的实现。
例如:方法名(new 父类接口(){});
animalShout(new Animal({}));
调用animalShout()方法时,在方法的参数位置写上new Animal(){},这就相当于创建了一个实例对象,并将对象作为参数传给animalShout方法,在new Animal()后面有一个大括号,表示创建对象为Animal的子类实例,该子类是匿名的
(1)JDK8开始 允许内部类,匿名内部类中访问非final修饰的局部变量,而JDK之前,局部变量必须加final修饰符,否则会编译错误
2.Lambda表达式
含义:使用一个清晰简洁的表达式来表达接口,同时Lambda表达式也简化了对集合以及数组数据的遍历、过滤和提取。
只针对有一个抽象方法的接口实现,以简洁的方式来实现接口功能来作为方法参数
—>:用来指定参数数据的指向,不能省略,且必须用英文横线和大于书写
匿名内部类、Lambda表达式使用
最新推荐文章于 2022-08-07 15:38:28 发布