ΠΠΎΡΠ΅ΠΌΡ Β«Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Β»?
Π’Π΅ΡΠΌΠΈΠ½ Π²ΠΎΠ·Π½ΠΈΠΊ ΠΏΠΎ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ: ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ°Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΡΠ΅Π½Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ°Π»ΡΡ Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΊΡΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΡ, Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π·ΡΠ°ΡΡΠ°Π»Π°ΡΡ ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡ ΠΊΡΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΡ. (ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΡΠΎΡΡΠ΅ΡΠ΅ Π½ΡΠΆΠ½ΡΠΌ.) ΠΠ»Ρ ΡΠ°ΠΉΠ»Π° Wind.java Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π²Π²Π΅ΡΡ ΠΏΠΎ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΠΎΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΌΡ ΡΠΈΠΏΡ. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠ΅ΠΌ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, Π½ΠΎ ΠΎΠ±ΡΠ·Π°Π½ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΈ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΈ, β ΠΏΠΎΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΈΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ ΡΡΠ΅Π±ΡΡ ΡΠ²Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ β ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ Π½ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ (downcasting). ΠΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 1.1.
Π‘Π½ΠΎΠ²Π° ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ
Π ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ. ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅ΠΆΠ΅. ΠΠΎΡΡΠΎΠΌΡ, Ρ ΠΎΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΠΠ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ, ΡΡΠΎ Π½Π΅ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π±Π΅Π· ΡΠ°Π·Π±ΠΎΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π²ΡΡΠ΄Ρ, Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠ°ΠΎΠ±ΠΎΡΠΎΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΠΌ, Π³Π΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠΌΠ½Π΅Π½ΠΈΠΉ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Ρ ΠΎΡΠΎΡΠΈΡ ΠΊΡΠΈΡΠ΅ΡΠΈΠ΅Π² Π²ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠ΅ΠΉ ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ β ΡΠΏΡΠΎΡΠΈΡΡ ΡΠ΅Π±Ρ, ΡΠΎΠ±ΠΈΡΠ°Π΅Π΅ΡΡ Π»ΠΈ Π²Ρ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊ Π±Π°Π·ΠΎΠ²ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ. ΠΡΠ»ΠΈ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎ, Π²ΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π΅ΡΠ»ΠΈ Π½Π΅Ρ β ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, Π½Π΅Π»ΡΠ·Ρ Π»ΠΈ ΠΏΠΎΡΡΡΠΏΠΈΡΡ ΠΈΠ½Π°ΡΠ΅.
ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ final
Π Java ΡΠΌΡΡΠ» ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° final Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ: Β«ΠΡΠΎ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΒ». ΠΠ°ΠΏΡΠ΅Ρ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡΡΡ Π΄Π²ΡΠΌΡ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌΠΈ: Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΡ. ΠΡΠΈ Π΄Π²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΎΡΠ½ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅Π²Π΅ΡΠ½ΠΎΠ΅ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° final.
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ final: Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ , ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅
ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ, ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉΒ». ΠΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ Π² Π΄Π²ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ :
β’ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ;
β’ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π³Π΄Π΅ ΠΎΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ; ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·Π΄Π΅ΡΠΆΠΊΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π Java ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌ ΡΠΈΠΏΠ°ΠΌ, Π° Π΄Π»Ρ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ final. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ.
ΠΠΎΠ»Π΅, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠ΅ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ static ΠΈ final, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ΅ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ»ΠΎΠ²Π° final ΡΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ Π΅Π³ΠΎ ΡΠΌΡΡΠ» Π½Π΅ ΡΡΠΎΠ»Ρ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½. ΠΠ»Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² final Π΄Π΅Π»Π°Π΅Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π΄Π»Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠ°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΎΠ½Π° ΡΠΆΠ΅ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΡΠ°ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ; Π² Java Π½Π΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. (ΠΠΏΡΠΎΡΠ΅ΠΌ, Π²Ρ ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²Π°Ρ ΠΊΠ»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ°ΠΊΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ½ΡΠΌΠΈ.) ΠΠ°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΈ ΠΊ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ final Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ»Π°ΡΡΠΎΠ²:
// reusing/Final Data java
// ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° final Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ.
import java util *,
import static net mindview.util Print.*;
class Value {
int i. // Π΄ΠΎΡΡΡΠΏ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΏΠ°ΠΊΠ΅ΡΠ° public Value(int i) { this i = i, }
}
public class FinalData {
private static Random rand = new Random(47); private String id,
public FinalData(String id) { this.id = id: } // ΠΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, private final int valueOne = 9. private static final int VALUE_TW0 = 99, // Π’ΠΈΠΏΠΈΡΠ½Π°Ρ ΠΎΡΠΊΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°, public static final int VALUE_THREE = 39: // He ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΎΠΉ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ: private final int i4 = rand.nextlnt(20); static final int INT_5 = rand nextlnt(20); private Value vl = new Value(ll): private final Value v2 = new Value(22), private static final Value VAL_3 = new Value(33): // ΠΠ°ΡΡΠΈΠ²Ρ.
private final int[] a = { 1. 2, 3. 4, 5, 6 }: public String toStringO {
return id + ": " + "i4 = " + i4 + ". INT_5 = " + INT_5;
}
public static void main(String[] args) {
FinalData fdl = new FinalDataCfdl"),
//! fdl.valueOne++, // ΠΡΠΈΠ±ΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
fdl.v2 i++, // ΠΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ!
fdl.vl = new Value(9); // OK - Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ
for(int i = 0, i < fdl.a.length; i++)
fdl a[i]++; // ΠΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ! //! fdl v2 = new Value(O); // ΠΡΠΈΠ±ΠΊΠ°: ΡΡΡΠ»ΠΊΡ //! fdl VAL_3 = new Valued); // Π½Π΅Π»ΡΠ·Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ //' fdl a = new int[3], print(fdl),
print("Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ FinalData"); FinalData fd2 = new FinalData("fd2M). print(fdl), print(fd2):
}
} /* Output.
fdl i4 = 15. INT 5 = 18 Π
ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ &
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Final Data fdl: i4 = 15. INT_5 = 18 fd2: i4 = 13. INT_5 = 18 *///:-
Π’Π°ΠΊ ΠΊΠ°ΠΊ valueOne ΠΈ VALUE_TWO ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΎΠ½ΠΈ ΠΎΠ±Π° ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π½Π΅Ρ. ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° VALUE_THREE Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ: ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ public ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΊ Π½Π΅ΠΉ Π΄ΠΎΡΡΡΠΏ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°; ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ static ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠΈΡΠ»Π΅, Π° ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ final ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ final static Ρ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ (ΡΠΎ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ) Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π·Π°Π³Π»Π°Π²Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ, Π° ΡΠ»ΠΎΠ²Π° ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ (ΡΡΠ° ΡΡ Π΅ΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΏΠΎΠ·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π° ΠΈΠ· ΡΠ·ΡΠΊΠ° Π‘).
Π‘Π°ΠΌΠΎ ΠΏΠΎ ΡΠ΅Π±Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ final Π΅ΡΠ΅ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΡΠΆΠ΅ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ. ΠΠ°Π½Π½ΡΠΉ ΡΠ°ΠΊΡ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ i4 ΠΈ INT_5 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». ΠΡΠ° ΡΠ°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΈ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ. ΠΠ½Π° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ (ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΡΡΠ°Π½ΡΡΡΡΡ Ρ ΡΠ΅Π»ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ). Π Π°Π·Π»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Ρ i4 Π΄Π»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² fdl ΠΈ fd2 ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ, Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ INT_5 Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° FinalData. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»Π΅ INT_5 ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΊΠ°ΠΊ static, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π· Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡ vl Π΄ΠΎ VAL_3 ΠΏΠΎΡΡΠ½ΡΡΡ ΡΠΌΡΡΠ» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ final. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° main(), ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ v2 ΠΊΠ°ΠΊ final Π΅ΡΠ΅ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π΅Π½. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡ ΡΡΡΠ»ΠΊΡ v2 ΠΊ Π½ΠΎΠ²ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π±ΡΠ»Π° ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π° ΠΊΠ°ΠΊ final. ΠΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΌΡΡΠ» ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ final ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ ΡΡΡΠ»ΠΊΠ°ΠΌ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ ΠΈ Π΄Π»Ρ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ. ΠΠΎΠΆΠ°Π»ΡΠΉ, Π΄Π»Ρ ΡΡΡΠ»ΠΎΠΊ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ final ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π½Π½ΠΎΡΡΡΡ, ΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ².
ΠΡΡΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ
Π Java ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΡΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ β ΠΏΠΎΠ»Ρ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΊ final, ΠΊΠΎΡΠΎΡΡΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ Π±ΡΠ»ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎ Π²ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΡΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΡΠΈΠΌ. ΠΠΏΡΠΎΡΠ΅ΠΌ, ΠΏΡΡΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° final, ΡΠ°ΠΊ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»Π΅ final Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°Π·Π½ΡΠΌ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ²ΠΎΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡΡ. ΠΡΠΈΠΌΠ΅Ρ:
//: c06:BlankFinal .java // "ΠΡΡΡΡΠ΅" Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»Ρ.
class Poppet {
private int i:
Poppet(int ii) { i = ii; }
}
public class BlankFinal {
private final int i = 0; // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° private final int j; // ΠΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° private final Poppet p; // ΠΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°-ΡΡΡΠ»ΠΊΠ° II ΠΡΡΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΠΠΠΠ₯ΠΠΠΠΠ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ // Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅: public BlankFinalΠ {
j = 1; // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ = new Poppet(l); // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΡΡΠΎΠΉ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ
}
public BlankFinal(int Ρ ) {
j = Ρ ; // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Ρ = new Poppet(x), // ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΡΡΠΎΠΉ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ
}
public static void main(String[] args) { new BlankFinal Π; new BlankFinal(47),
}
} ///:-
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΡ (final) ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ»ΠΈ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΠΎΠΌ Π² ΡΠΎΡΠΊΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ»ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ°. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ, ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠ°ΠΊ final, ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.