static
สมาชิก ( static
ฟิลด์หรือstatic
วิธีการ) ใน Java เชื่อมโยงกับคลาสตามลำดับแทนที่จะเป็นอ็อบเจ็กต์ของคลาสนี้ รหัสต่อไปนี้พยายามเข้าถึงฟิลด์แบบคงที่ในการnull
อ้างอิง
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);
}
}
แม้ว่าmain.getNull()
ผลตอบแทนจะทำงานและการแสดงnull
value = 10
รหัสนี้ทำงานอย่างไร?
Main main = null; main.getNull().value
เพื่อความสนุกสนานให้ลอง
new Thread[]{}[-1].sleep(10);
ตำแหน่งที่ sleep () เป็นวิธีการคงที่ สิ่งนี้เคยประสบความสำเร็จใน Java เวอร์ชันเก่าบางรุ่น