staticMitglieder ( staticFelder oder staticMethoden) in Java sind eher ihrer jeweiligen Klasse als den Objekten dieser Klasse zugeordnet. Der folgende Code versucht, auf ein statisches Feld in einer nullReferenz zuzugreifen .
public class Main
{
private static final int value = 10;
public Main getNull()
{
return null;
}
public static void main(String[] args)
{
Main main=new Main();
System.out.println("value = "+main.getNull().value);
}
}
Obwohl main.getNull()zurückgegeben null, funktioniert es und wird angezeigt value = 10. Wie funktioniert dieser Code?
Main main = null; main.getNull().value.
new Thread[]{}[-1].sleep(10);wo sleep () eine statische Methode ist. Dies war früher bei einigen älteren Java-Versionen erfolgreich.