static
Java'daki üyeler ( static
alanlar veya static
yöntemler), bu sınıfın nesneleri yerine kendi sınıflarıyla ilişkilendirilir. Aşağıdaki kod, bir null
referanstaki statik bir alana erişmeye çalışır .
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);
}
}
Her ne kadar main.getNull()
getiri null
, nasıl çalıştığını ve görüntüler value = 10
. Bu kod nasıl çalışır?
Main main = null; main.getNull().value
.
new Thread[]{}[-1].sleep(10);
sleep () 'in statik bir yöntem olduğunu hatırlatıyor . Bu, bazı eski Java sürümlerinde başarılı oluyordu.