publicstaticclassCar{ publicstatic Car create( final Supplier< Car > supplier ){ return supplier.get(); } publicstaticvoidcollide( final Car car ){ System.out.println( "Collided " + car.toString() ); } publicvoidfollow( final Car another ){ System.out.println( "Following the " + another.toString() ); } publicvoidrepair(){ System.out.println( "Repaired " + this.toString() ); } }
final Car police = Car.create( Car::new ); cars.forEach( police::follow );
運行上述例子,可以在控制台看到如下輸出(Car實例可能不同):
1 2 3
Collided com.javacodegeeks.java8.method.references.MethodReferences$Car@7a81197d Repaired com.javacodegeeks.java8.method.references.MethodReferences$Car@7a81197d Following the com.javacodegeeks.java8.method.references.MethodReferences$Car@7a81197d