A menudo me pregunto por qué Java usa ::
para referencias de métodos en lugar de .
, por ejemplo, por qué escribir
System.out::println
en vez de
System.out.println
Por supuesto, uno podría simplemente responder: "porque los diseñadores así lo decidieron". Por otro lado, hubiera esperado la segunda sintaxis porque el punto es la sintaxis Java habitual para acceder a los miembros de la clase.
Entonces, ¿hay alguna razón especial conocida para introducir la nueva ::
sintaxis en lugar de usar la .
convención existente para referencias de métodos?