on对象:
然后我们通过构造函数引用来把所有东西拼到一起,而不是像以前一样,通过手动实现一个工厂来这么做。
我们通过Person::new来创建一个Person类构造函数的引用。Java编译器会自动地选择合适的构造函数来匹配PersonFactory.create函数的签名,并选择正确的构造函数形式。
访问lambdab表达式外部的变量类似匿名对象。你能够访问局部外部域(local outer scope)的final变量,以及成员变量和静态变量。
我们可以访问lambda表达式外部的final局部变量:
但是与匿名对象不同的是,变量num并不需要一定是final。下面的代码依然是合法的:
然后我们通过构造函数引用来把所有东西拼到一起,而不是像以前一样,通过手动实现一个工厂来这么做。
我们通过Person::new来创建一个Person类构造函数的引用。Java编译器会自动地选择合适的构造函数来匹配PersonFactory.create函数的签名,并选择正确的构造函数形式。
访问lambdab表达式外部的变量类似匿名对象。你能够访问局部外部域(local outer scope)的final变量,以及成员变量和静态变量。
我们可以访问lambda表达式外部的final局部变量:
但是与匿名对象不同的是,变量num并不需要一定是final。下面的代码依然是合法的: