6
การกำหนดครั้งสุดท้ายไม่ดีหรือไม่?
ก่อนอื่นตัวต่อ: รหัสต่อไปนี้จะพิมพ์อะไร public class RecursiveStatic { public static void main(String[] args) { System.out.println(scale(5)); } private static final long X = scale(10); private static long scale(long value) { return X * value; } } ตอบ: 0 สปอยเลอร์ด้านล่าง หากคุณพิมพ์Xในขนาด (ยาว) และ Redefine X = scale(10) + 3พิมพ์จะได้รับแล้วX = 0 X = 3ซึ่งหมายความว่าXมีการตั้งค่าชั่วคราวและการตั้งค่าในภายหลัง0 …