Java核心技术_笔记6-7

1 .
repeat(10 , 0 - > System.out.println(" Hello , World ! "));
要接受此lambda表达式,需要提供函数式接口
public static void repeat ( int n , Runnable action)
{
for ( int i = 0;i < n;i ++) action.run() ;
}
action.run() 会执行lambda表达式主体
这里写图片描述

2.不止一个函数式接口,还要包含一个方法
此方法有int参数,返回void
处理int的接口为
public interface IntConsumer
{
void accept ( int value ) ;
}

public static void repeat ( int n , IntConsumer action )
{
for ( int i = 0 ; i < n ; i ++ ) action.accept ( i ) ;
}
这里写图片描述

3.接口有一个抽象方法,用 @ FunctionalInterface 标记

4.方法调用这个方法的对象数据域
内部类既可以访问自身数据域
也可以访问创建它的外围类对象的数据域

5 .外部类引用
OuterClass.this
内部类引用
OuterClass.InnerClass

6 .内部类所有静态域都是final
内部类不能有static方法

猜你喜欢

转载自blog.csdn.net/Matrix576/article/details/82709174