CompilingFunktions Bezug auf Object.clone() lässt sich nicht kompilieren
import java.util.concurrent.Callable;
class Ideone
{
Callable<?> x = super::clone;
}
Oracle JDK gibt:
Main.java:6: error: incompatible types: invalid method reference
Callable<?> x = super::clone;
^
clone() has protected access in Object
die keinen Sinn als eine Klasse macht sollte seine Lage sein, Eltern den Zugriff auf die geschützten Methoden. Dieser Ausdruck funktioniert im Eclipse-Compiler einwandfrei.
Auch () -> super.clone()
kompiliert fein ....
Ist das ein Fehler?
Funktioniert 'this :: clone'? – thecoop
Ich kann dies mit JDK 1.8.0_51 und Eclipse Mars 4.5.0 reproduzieren. Scheint wie ein Eclipse-Bug. – Tunaki
Funktioniert gut JDK 1.8.0_60 und Eclipse Mars – Flown