æ¥è‡ªï¼šJavaWorld
我ç†è§£static
åªèƒ½ä¸ŽåµŒå¥—类一起使用,这使它们ç‰åŒäºŽé¡¶çº§ç±»ã€‚我也ç†è§£è¿™å¯ä»¥ä½¿å®ƒä»¬ç‹¬ç«‹äºŽå°é—类声明。
这就是ç†è®ºï¼Œä»»ä½•äººéƒ½å¯ä»¥æƒ³åˆ°ä¸€ä¸ªå¾ˆå¥½çš„实际例å,说明为什么我们需è¦è¿™æ ·åšï¼Ÿ (链接ä¸çš„示例很å¯èƒ½æ˜¯å†…部类AFAIK的示例。)
æ¤å¤– - 问题背åŽçš„åŽŸå› - 为什么有一个å«ç³Šä¸æ¸…çš„å称,为什么“é‡å¤ä½¿ç”¨â€å•è¯static
并给它一个ä¸åŒçš„å«ä¹‰ï¼Ÿ
ç”案 0 :(得分:4)
当您的类自然嵌套时使用它,但ä¸éœ€è¦å†…部类在Javaä¸ä½¿ç”¨çš„auto-magic $ this父引用。æ¯ä¸ªéžé™æ€å†…部类都包å«å¯¹å…¶åŒ…å«å®žä¾‹çš„嵌入å¼å¼•ç”¨ã€‚当您实际上ä¸éœ€è¦è¯¥å¼•ç”¨æ—¶ï¼Œæœ€å¥½ä¸è¦åˆ›å»ºå®ƒã€‚它å¯èƒ½å¯¼è‡´å¯¹è±¡åœ¨å†…å˜ä¸åœç•™çš„时间比它们需è¦çš„æ—¶é—´é•¿å¾—å¤šï¼Œå½“ä½ å¼€å§‹åºåˆ—化对象/å°è¯•é€šè¿‡ç½‘络å‘é€å®ƒä»¬æ—¶ï¼Œå®ƒä¹Ÿä¼šå¾ˆç—›è‹¦ã€‚ä½ æœ€ç»ˆå¯èƒ½ä¼šå¾—åˆ°æ¯”ä½ æ›´å¤§çš„å¯¹è±¡å›¾ã€‚é¢„æœŸæˆ–éœ€è¦åºåˆ—化ï¼
Map.Entry的实现就是一个很好的例å。它嵌套在地图实现ä¸æ˜¾ç„¶æ˜¯â€œè‡ªç„¶çš„â€ï¼Œä½†æ˜¯æ²¡æœ‰å¿…è¦çœŸæ£å°†çˆ¶å¼•ç”¨ä¿å˜å›žåœ°å›¾ã€‚
对于#2,它有什么ä¸åŒï¼Ÿå—段或方法上的é™æ€æ„味ç€å®ƒæ˜¯ç±»å®šä¹‰çš„属性而ä¸æ˜¯å®žä¾‹ã€‚æ‚¨æ— éœ€å®žä¾‹å³å¯è®¿é—®å’Œä½¿ç”¨å®ƒã€‚嵌套类上的é™æ€ä¹Ÿæ„味ç€å®ƒæ˜¯ç±»å®šä¹‰çš„属性,您å¯ä»¥åœ¨æ²¡æœ‰å®žä¾‹çš„情况下访问和使用它。
ç”案 1 :(得分:2)
顶级课程的å¯è§æ€§å¯ä»¥æ˜¯å…¬å¼€çš„或包装的;但嵌套é™æ€ç±»çš„å¯è§æ€§ä¹Ÿå¯ä»¥æ˜¯ç§æœ‰çš„或å—ä¿æŠ¤çš„。
声明嵌套类还å¯ä»¥æ”¹è¿›ç±»çš„打包(结构化)并关è”它们的ä¾èµ–关系,例如Map.Entry
。虽然,它也å¯èƒ½æ˜¯æ¨¡ç³Šçš„。
å•è¯static
具有在类级别声明实例的å«ä¹‰ã€‚例如,static int i
为类声明一个整数。顶级类与声明类级别的类相åŒæ˜¯ç›¸åŒçš„。
ç”案 2 :(得分:1)
我å¯ä»¥è§£å†³ä½ 的第二个问题。
Some other keywords have overloaded meaningsï¼Œå› æ¤static
示例ä¸æ˜¯å”¯ä¸€çš„。 static
甚至在é™æ€å¯¼å…¥çš„上下文ä¸æœ‰å¦ä¸€ç§å«ä¹‰ã€‚它æ£åœ¨é‡å¤ä½¿ç”¨ä½ å·²ç»ç†Ÿæ‚‰è¿‡çš„å¦ä¸€ç§æƒ…况,å³ä½¿å®ƒå…·æœ‰å®Œå…¨ä¸åŒçš„å«ä¹‰ï¼Œå®ƒä¹Ÿæ˜¯æœ‰æ„义的。
例如,final
å¯ç”¨äºŽæ ‡è¯†åªèƒ½ä¸€æ¬¡åˆå§‹åŒ–çš„å˜é‡ã€‚它还有其他å«ä¹‰ï¼Œæ¯”å¦‚è¯†åˆ«æ— æ³•è¦†ç›–çš„æ–¹æ³•ã€‚
super
å’Œsynchronized
也用于多ç§æƒ…况。
ç”案 3 :(得分:1)
 Â Â
- 这就是ç†è®ºï¼Œä»»ä½•äººéƒ½å¯ä»¥æƒ³åˆ°ä¸€ä¸ªå¾ˆå¥½çš„实际例å,为什么我们需è¦è¿™æ ·åšï¼Ÿ (链接ä¸çš„示例很å¯èƒ½æ˜¯å†…部类AFAIK的示例。)
  醇>
è¿™æ ·åšæœ‰åŠ©äºŽåžƒåœ¾æ”¶é›†ã€‚éžé™æ€å†…部类包å«å¯¹å¤–部类的引用。
ä¾‹å¦‚ï¼šå¦‚æžœä½ æœ‰ä¸€ä¸ªåºžå¤§çš„å¤–éƒ¨ç±»ï¼Œå®ƒåœ¨æŸä¸ªä»»åŠ¡åˆ—表ä¸åˆ›å»ºä¸€ä¸ªRunnable队列,那么Runnableçš„å˜åœ¨å¯èƒ½æˆä¸ºå”¯ä¸€é˜»æ¢å®ƒè¢«æ”¶é›†çš„东西。现在,内部类强制JVMä¿ç•™ä¸€å †æ— ç”¨çš„å †ç©ºé—´ï¼Œå®ƒå¯èƒ½å¿…须移出伊甸å›å¹¶è¿›å…¥æ›´éš¾æ”¶é›†çš„幸å˜è€…空间。
 Â Â
- å¦å¤– - 问题背åŽçš„åŽŸå› - 为什么è¦æœ‰ä¸€ä¸ªå«ç³Šä¸æ¸…çš„åå—,为什么“é‡å¤ä½¿ç”¨â€ï¼†gt;这个è¯é™æ€å¹¶ç»™å®ƒä¸€ä¸ªä¸åŒçš„å«ä¹‰ï¼Ÿ
  醇>
您更喜欢称之为什么?在è¯è¨€æ–¹é¢ï¼Œä½¿ç”¨é™æ€ä¸ä¼šå¯¼è‡´è¯æ³•ä¸çš„任何æ§ä¹‰ã€‚对我æ¥è¯´ï¼Œâ€œé™æ€â€æ˜¯æœ‰é“ç†çš„。内部类的实例ä¸æ˜¯å¤–部类实例的æˆå‘˜ï¼Œå之亦然。
ç”案 4 :(得分:1)
这些上下文ä¸static
的共享å«ä¹‰æ˜¯â€œåœ¨ç¼–译时å¯è§£æžâ€ï¼ˆè€Œä¸æ˜¯å¿…须在对象实例上查找它们并通过虚拟方法表)。这适用于é™æ€æ–¹æ³•ï¼Œé™æ€å˜é‡å’Œé™æ€å†…éƒ¨ç±»ã€‚æˆ‘è®¤ä¸ºå½“ç¼–è¯‘å™¨ç¼–å†™è€…é€‰æ‹©ä½ çš„è¯è¨€å…³é”®è¯æ—¶ä¼šå‘生这ç§æƒ…况,概念上他将它们组åˆåœ¨ä¸€èµ·ä½œä¸ºâ€œæˆ‘å¯ä»¥ä¼˜åŒ–的东西â€ã€‚