¸üÐÂʱ¼ä:2021Äê08ÔÂ03ÈÕ18ʱ13·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

JavaÖб»finalÐÞÊεıäÁ¿±»³ÆÖ®Îª³£Á¿£¬ËüÖ»Äܱ»¸³ÖµÒ»´Î£¬Ò²¾ÍÊÇ˵finalÐÞÊεıäÁ¿Ò»µ©±»¸³Öµ£¬ÆäÖµ²»Äܸı䡣Èç¹ûÔٴζԸñäÁ¿½øÐи³Öµ£¬Ôò³ÌÐò»áÔÚ±àÒëʱ±¨´í¡£½ÓÏÂÀ´Í¨¹ýÒ»¸ö°¸ÀýÀ´½øÐÐÑéÖ¤£¬ÈçÎļþ1Ëùʾ¡£
Îļþ1 Example10.java
public class Example10 {
public static void main(String[] args) {
final int num = 2; // µÚÒ»´Î¿ÉÒÔ¸³Öµ
num = 4; // Ôٴθ³Öµ»á±¨´í
}
}
³ÌÐò±àÒ뱨´í£¬Èçͼ1Ëùʾ¡£

ͼ1 ÔËÐнá¹û
Îļþ1ÖУ¬µ±ÔÚµÚ4ÐÐÔٴζÔnum¸³ÖµÊ±£¬³ÌÐò³öÏÖÁË“The final local variable num cannot be assigned. It must be blank and not using a compound assignment£¨final±äÁ¿numÎÞ·¨±»ÖØÐ¸³Öµ£©”µÄ´íÎó¡£Óɴ˿ɼû£¬±»finalÐÞÊεıäÁ¿Îª³£Á¿£¬ËüÖ»Äܱ»¸³ÖµÒ»´Î£¬ÆäÖµ²»¿É¸Ä±ä¡£
Îļþ1ÖУ¬ÑÝʾµÄÊǾֲ¿±äÁ¿±»finalÐÞÊεÄÇé¿ö£¬µ±¾Ö²¿±äÁ¿Ê¹ÓÃfinal¹Ø¼ü×Ö½øÐÐÐÞÊÎʱ£¬¿ÉÒÔÔÚÉùÃ÷±äÁ¿µÄͬʱ¶Ô±äÁ¿½øÐи³Öµ£¬Ò²¿ÉÒÔÏÈÉùÃ÷±äÁ¿È»ºóÔÙ½øÐÐÓÐÇÒÖ»ÓÐÒ»´ÎµÄ¸³Öµ¡£¶øµ±³ÉÔ±±äÁ¿±»finalÐÞÊÎʱ£¬ÔÚÉùÃ÷±äÁ¿µÄͬʱ±ØÐë½øÐгõʼ»¯¸³Öµ£¬·ñÔò³ÌÐò±àÒ뱨´í£¬½ÓÏÂÀ´Í¨¹ýÒ»¸ö°¸ÀýÀ´ÑÝʾfinalÐÞÊγÉÔ±±äÁ¿ºÍ¾Ö²¿±äÁ¿µÄÇé¿ö£¬ÈçÎļþ2Ëùʾ¡£
Îļþ2 Example11.java
public class Example11 {
// finalÐÞÊεijÉÔ±±äÁ¿£¬±ØÐëÔÚÉùÃ÷µÄͬʱ½øÐи³Öµ£¬·ñÔò±àÒë´íÎó
final int m;
public static void main(String[] args) {
// finalÐÞÊεľֲ¿±äÁ¿£¬¿ÉÒÔÏÈÉùÃ÷£¬ÔÙ½øÐÐÒ»´Î¸³Öµ
final int n;
n = 4;
}
}
³ÌÐò±àÒ뱨´í£¬Èçͼ2Ëùʾ¡£

ͼ2 ÔËÐнá¹û
´Óͼ2¿ÉÒÔ¿´³ö£¬³ÌÐò³öÏÖÁ˱àÒë´íÎ󣬲¢Ìáʾ“The blank final field m may not have been initialized£¨finalÐÞÊεıäÁ¿mûÓгõʼ»¯£©”¡£ÕâÊÇÒòΪʹÓÃfinal¹Ø¼ü×ÖÐÞÊγÉÔ±±äÁ¿Ê±£¬JavaÐéÄâ»ú²»»á¶ÔÆä½øÐгõʼ»¯¡£Òò´ËʹÓÃfinalÐÞÊγÉÔ±±äÁ¿Ê±£¬ÐèÒªÔÚ¶¨Òå±äÁ¿µÄͬʱ¸³ÓèÒ»¸ö³õʼֵ£¬ÏÂÃæ½«µÚ3ÐдúÂëÐÞ¸ÄΪ£º
final int m = 0; // ΪfinalÐÞÊεijÉÔ±±äÁ¿m³õʼ»¯¸³Öµ
±£´æºó£¬EclipseµÄ±à¼Æ÷½«²»»áÌáʾ´íÎó¡£
²ÂÄãϲ»¶£º
final¹Ø¼ü×ÖµÄ×÷ÓúÍÌØµã¡¾final¹Ø¼ü×ÖµÄ×÷ÓÃÏêϸ½éÉÜ¡¿
finalÔÚJava±à³ÌÖÐÓÐʲô×÷Óã¿¡¾JavaÃæÊÔ¡¿
finalÓÐʲô×÷Óã¿JavaÖÐfinalÀàµÄ×÷ÓÃ
ÀÖÓãµç¾ºJava¿ª·¢¿Î³Ì
±±¾©Ð£Çø