ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΊΡΡΡΡΠ΅ ΠΏΠΎΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, Ρ. Π΅. ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠ»ΠΎΠ²ΠΎΠΌ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ»
ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅
ΠΏΠΎ ΠΊΡΡΡΡ «Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ»
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΠΎΡΠΊΠ²Π° 2004 Π³.
- Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ 3
- ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ 3
- ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ 3
- Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ° 3
- ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ. 4
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
5
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ 6
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ 22
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ 28
- Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ
- ΠΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎΠ± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ , ΠΎΠ±ΡΠ°ΡΠ½ΡΡ Π²ΡΠ·ΠΎΠ²Π°Ρ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ°Ρ ΡΠ·ΡΠΊΠ° Java. ΠΠ°ΡΡΠΈΡΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ
ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΡΠΌ. ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΡ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΈΠΉ ΡΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠΌ.
ΠΠ±ΡΠ΅ΠΊΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ActionListener (ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΠΈΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°), ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ ΡΡΠΌΠΌΠ΅, Π»Π΅ΠΆΠ°ΡΠ΅ΠΉ Π½Π° ΡΡΠ΅ΡΡ, Π½Π°ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π½Π° Π½Π΅Π΅ ΠΏΡΠΎΡΠ΅Π½ΡΡ.
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ°
ΠΡΡΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ:
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π·Π°Π΄Π°ΡΠΈ, ΡΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π² Java?
2. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ?
3. ΠΠΎΠΏΡΡΠΊΠ°ΡΡ Π»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅?.
4. ΠΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π² Java?.
5. Π§ΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ?
6. ΠΠΊΠ»ΡΡΠ°Π΅Ρ Π»ΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°?.
7. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΈΠ· Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°?
ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΈ:
1. ΠΠ΅Π½ ΠΡΠ½ΠΎΠ»ΡΠ΄, ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³, ΠΡΠ²ΠΈΠ΄ Π₯ΠΎΠ»ΠΌΡ. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java™.
2. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Java — http://java.sun.com/ (Π΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π» Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Ρ ΡΡΠ΅Π±Π½ΠΈΠΊΠΎΠΌ).
3. Java™ 2 SDK, Standard Edition Documentation — http://java.sun.com/products/jdk/1.5/index.html.
4. ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³, ΠΠΈΠ»Π» ΠΠΆΠΎΠΉ, ΠΠ°ΠΉ Π‘ΡΠΈΠ». Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Java (The Java Language Specification — http://www.javasoft.com/docs/books/jls/). ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΡΠ·ΡΠΊ — http://www.uni-vologda.ac.ru/java/jls/index.html
5. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Eclipse — http://www.eclipse.org/.
ΠΡΡΠ³ΠΎΠ΅:
1. ΠΠΌΠΈΡΡΠΈΠΉ Π Π°ΠΌΠΎΠ΄ΠΈΠ½. ΠΠ°ΡΠΈΠ½Π°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Java.
2. ΠΠΈΠΊΠΎΠ»Π°ΠΉ Π‘ΠΌΠΈΡΠ½ΠΎΠ². Java 2: Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅.
3. ΠΠ°ΡΡΡΠ·ΠΎΠ² Π. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Java.
4. ΠΡΠ·ΠΎΠ²ΠΈΠΊ Π. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Java.
5. ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ. ΠΠ²ΡΠΎΡ Π½Π΅ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠΠ°ΠΊΠ΅ΡΡ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Java API Π²Ρ ΠΎΠ΄ΡΡ ΡΠΎΡΠ½ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ Π½ΠΈΠΌ Π΄Π΅ΡΡΡΠΊΠΈ ΡΠ²ΠΎΠΈΡ . ΠΠ»Π°ΡΡΠΎΠ². ΠΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅ΠΎΠ±ΠΎΠ·ΡΠΈΠΌΡΠΌ. Π£ΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΠΏΡΠΈΠ½ΡΡΡ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΡΠΎΠΌΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ, Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΡΡΡΡ ΡΠ·ΡΠΊΠ°.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Java Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π² ΡΠ·ΡΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ — ΠΏΠ°ΠΊΠ΅ΡΡ (packages). ΠΡΠ΅ ΠΊΠ»Π°ΡΡΡ Java ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ. ΠΡΠΎΠΌΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠ°ΠΊΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΡ (subpackages). ΠΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π΄ΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½Π°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΡΠ° ΡΡΡΡΠΊΡΡΡΠ° Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ class (ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ), ΠΎΠ±ΡΠ°Π·ΡΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ, Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ (namespace). ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ. ΠΠΌΠ΅Π½Π° Π² ΡΠ°Π·Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΠΌΠΎΠ³ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, Π½ΠΎ ΡΡΠΎ Π±ΡΠ΄ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΠ°Π·Ρ Π² Π΄Π²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ . ΠΡΠ»ΠΈ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ° Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΡΠΎ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°: ΠΏΠ°ΠΊΠ΅Ρ.ΠΊΠ»Π°ΡΡ. Π’Π°ΠΊΠΎΠ΅ ΡΡΠΎΡΠ½Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΅ΡΠ΅ ΠΈ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΡΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ ΠΏΡΠ°Π²Π°ΠΌ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° private, protected ΠΈ public Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½, «ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ» ΡΡΠΎΠ²Π΅Π½Ρ Π΄ΠΎΡΡΡΠΏΠ°.
ΠΡΠ»ΠΈ ΡΠ»Π΅Π½ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ ΠΎΡΠΌΠ΅ΡΠ΅Π½ Π½ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² private, protected, public, ΡΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊ Π½Π΅ΠΌΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ Π΄ΠΎΡΡΡΠΏ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΊ ΡΠ°ΠΊΠΎΠΌΡ ΡΠ»Π΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π»ΡΠ±ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈΠ· ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠ°ΠΊΠ΅ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠ»Π°ΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ — Π΅ΡΠ»ΠΈ ΠΊΠ»Π°ΡΡ Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ public, ΡΠΎ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅Π½Ρ, Π΄Π°ΠΆΠ΅ ΠΎΡΠΊΡΡΡΡΠ΅, public, Π½Π΅ Π±ΡΠ΄ΡΡ Π²ΠΈΠ΄Π½Ρ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
ΠΠ°ΠΊΠ΅Ρ ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΊΠ΅Ρ Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Java-ΡΠ°ΠΉΠ»Π° Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ package ΠΈΠΌΡ;, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
package mypack;
Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ mypack ΠΈ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅, ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΠΏΠ°ΠΊΠ΅Ρ mypack. ΠΠΎΠ²ΡΠΎΡΡΡ ΡΡΡ ΡΡΡΠΎΠΊΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² ΠΏΠ°ΠΊΠ΅Ρ Π½ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ.
ΠΠΌΡ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠ° ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, subpack, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π°ΠΏΠΈΡΠ°ΡΡ;
package mypack. subpack;
ΠΈ Π²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ subpack ΠΏΠ°ΠΊΠ΅ΡΠ° mypack.
ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π² ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π²ΡΠΎΠ΄Π΅
package mypack.subpack.sub;
ΠΈ Ρ. Π΄. ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠ°Π·.
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡΠΎΠΊΠ° package ΠΈΠΌΡ; ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈ ΡΡΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ°ΠΉΠ»Π°, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ.
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Java ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ mypack, a Π² Π½Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ subpack, ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ Π² Π½ΠΈΡ class-ΡΠ°ΠΉΠ»Ρ Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°ΠΌΠΈ.
ΠΠΎΠ»Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ², Π ΠΈ Π Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ: mypack. A, mypack.subpack.Π.
Π€ΠΈΡΠΌΠ° SUN ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΡΡΠΎΡΠ½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ, ΡΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅, ΠΏΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΠΏΡΠΎΠΏΠΈΡΠ½ΠΎΠΉ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΈΡΠΌΠ° SUN ΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
com.sun.developer
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ Π½ΠΈ ΡΠ°Π·Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ. ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΠ΅Π³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΡ ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π½Π°Ρ class-ΡΠ°ΠΉΠ» Π²ΡΠ΅Π³Π΄Π° ΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΡΡΠΎ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Java-ΡΠ°ΠΉΠ».
ΠΠ΅Π·ΡΠΌΡΠ½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ ΡΠ»ΡΠΆΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ±Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎΠ»ΡΡΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π»ΡΡΡΠ΅ Ρ ΡΠ°Π½ΠΈΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠ»Π°ΡΡΠΎΠ² Java 2 API Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ java, javax, org.omg. ΠΠ°ΠΊΠ΅Ρ Java ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΡ applet, awt, beans, io, lang, math, net, rmi, security, sql, text, util ΠΈ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠ°ΠΊΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΠΠΠ) ΠΈ Π³ΡΠ°ΡΠΈΠΊΠΈ java. awt ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΡ color, datatransfer, dnd, event, font, geometry, image, print.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΎΡΡΠ°Π² ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΡ Π²Π΅ΡΡΠΈΠΈ ΠΊ Π²Π΅ΡΡΠΈΠΈ.
ΠΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ»Π΅Π½Π°ΠΌ ΠΊΠ»Π°ΡΡΠ° Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΡΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π² Π΄Π²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ , ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. Π. 1.
Π ΠΈΡ. Π. 1. Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌ
Π ΡΠ°ΠΉΠ»Π΅ Base. java ΠΎΠΏΠΈΡΠ°Π½Ρ ΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°: inpi, Base ΠΈ ΠΊΠ»Π°ΡΡ Derivedpi, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ Base. ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ pi. Π ΠΊΠ»Π°ΡΡΠ΅ Base ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ°, Π° Π² ΠΌΠ΅ΡΠΎΠ΄Π°Ρ f () ΠΊΠ»Π°ΡΡΠΎΠ² inp1 ΠΈ Derivedp1 ΡΠ΄Π΅Π»Π°Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠΌ ΠΊΠ»Π°ΡΡΠ° Π²Π°Π·Π΅. ΠΠ΅ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΎΡΠΌΠ΅ΡΠ΅Π½Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ. Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠΈΡΡΠΈΠ½Π³ 3.1 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠΈΡΡΠΈΠ½Π³ Π. 1. Π€Π°ΠΉΠ» Base. java Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° p1
package p1;
class Inp1{
public void f () {
Base b = new Base ();
// b. priv = 1; // «priv has private access in p1. Base»
b.pack = 1;
b.prot = 1;
b.publ = 1;
}
}
public class Base{
private int priv = 0;
int pack = 0;
protected int prot = 0;
public int publ = 0;
}
class Derivedpi extends Base{
public void f (Base a) {
// a. priv = 1; // «priv hΠ°s private access in pi. Base»
a.pack = 1;
a.prot = 1;
a.publ = 1;
// priv = 1; // «priv has private access in pi. Base»
pack = 1;
prot = 1;
publ = 1;
}
}
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° Π. 1, Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΊΡΡΡΡΠ΅, private, ΠΏΠΎΠ»Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°.
Π ΡΠ°ΠΉΠ»Π΅ Inp2. java ΠΎΠΏΠΈΡΠ°Π½Ρ Π΄Π²Π° ΠΊΠ»Π°ΡΡΠ°: Inp2 ΠΈ ΠΊΠ»Π°ΡΡ Derivedp2, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ Base. ΠΡΠΈ ΠΊΠ»Π°ΡΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ Ρ2. Π ΡΡΠΈΡ ΠΊΠ»Π°ΡΡΠ°Ρ ΡΠΎΠΆΠ΅ ΡΠ΄Π΅Π»Π°Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΠΎΠ»ΡΠΌ ΠΊΠ»Π°ΡΡΠ° Base. ΠΠ΅ΡΠ΄Π°ΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠΈΡΡΠΈΠ½Π³ Π. 2 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ Base Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΠΏΡΠΈ ΡΠ²ΠΎΠ΅ΠΌ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ p1 ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ public, ΠΈΠ½Π°ΡΠ΅ ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ2 Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΅Π³ΠΎ ΡΠ»Π΅Π½Π°.
ΠΠΈΡΡΠΈΠ½Π³ Π. 2. Π€Π°ΠΉΠ» Inp2. java Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ2
package p2;
import pl. Base;
class Inp2{
public static void main (String[] args){
Base b = new Base ();
// b. priv = 1; // «priv has private access in pl. Base»
// b. pack = 1; // «pack is not public in pl. Base;
// cannot be accessed from outside package"
// b. prot = 1; //"" prot has protected access in pi. Base"
b.publ = 1;
}
}
class Derivedp2 extends Base{
public void, f (Base a){
// a. priv = 1; // «priv has private access in. p1. Base»
// a. pack = 1; // «pack, is not public in pi. Base; cannot
//be accessed from outside package"
// a. prot = 1; // «prot has protected access in p1. Base»
a.publ = 1;
// priv = 1; // «priv has private access in pi. Base»
// pack = 1; // «pack is not public in pi. Base; cannot
// be accessed from outside package"
prot = 1;
publ = 1;
super.prot = 1;
}
}
ΠΠ΄Π΅ΡΡ, Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅, Π΄ΠΎΡΡΡΠΏ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΡΠ΅ΠΏΠ΅Π½ΠΈ.
ΠΠ· Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΎΡΠΊΡΡΡΡΠΌ, public, ΠΏΠΎΠ»ΡΠΌ ΠΊΠ»Π°ΡΡΠ° Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠ· ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ Π΅ΡΠ΅ ΠΈ ΠΊ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΌ, protected, ΠΏΠΎΠ»ΡΠΌ, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ, Π° Π½Π΅ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΠΏΠΎΠ»ΡΠΌ, Π½ΠΎ ΠΈ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ. ΠΠΎΠ΄ΡΡΠΎΠΆΠΈΠΌ Π²ΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΡΠ°Π±Π». Π. 1.
Π’Π°Π±Π»ΠΈΡΠ° Π. 1. ΠΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΎΠ»ΡΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΊΠ»Π°ΡΡΠ°
ΠΠ»Π°ΡΡ | ΠΠ°ΠΊΠ΅Ρ | ΠΠ°ΠΊΠ΅Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ | ΠΡΠ΅ ΠΊΠ»Π°ΡΡΡ | ||
private | |||||
" package" | |||||
protected | * | ||||
public | |||||
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ protected-ΠΏΠΎΠ»ΡΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈΠ· ΡΡΠΆΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠΎΠΉ.
Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠ°ΠΉΠ»Π°ΠΌ
Π’ΠΎ ΠΎΠ±ΡΡΠΎΡΡΠ΅Π»ΡΡΡΠ²ΠΎ, ΡΡΠΎ class-ΡΠ°ΠΉΠ»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΠΏΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ, Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ D: jdkl.3MyProgsch3 Π΅ΡΡΡ ΠΏΡΡΡΠΎΠΉ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ classes ΠΈ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° — Base. java ΠΈ Inp2. java, — ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Π»ΠΈΡΡΠΈΠ½Π³Π°Ρ Π. 1 ΠΈ Π. 2. Π ΠΈΡ. Π. 2 Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΡΡΡΠ½ΡΡ.
1. Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ classes ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Ρ1 ΠΈ Ρ2.
2. ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ ΡΠ°ΠΉΠ» Base. java Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ1 ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Ρ1 ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ.
3. ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Base. java, ΠΏΠΎΠ»ΡΡΠ°Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ1 ΡΡΠΈ ΡΠ°ΠΉΠ»Π°: Base. class, Inpl. class, Derivedpl.class.
4. ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ ΡΠ°ΠΉΠ» Inp2java Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ2.
5. Π‘Π½ΠΎΠ²Π° Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ classes.
6. ΠΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΠΉΠ», ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΡΡΡ p2Inp2.java.
7. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ java p2. inp2.
ΠΠΌΠ΅ΡΡΠΎ ΡΠ°Π³ΠΎΠ² 2 ΠΈ 3 ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΈ class-ΡΠ°ΠΉΠ»Π° Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ ΠΈΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ pi. Π class-ΡΠ°ΠΉΠ»Π°Ρ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ.
Π‘ΠΌΡΡΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ 5 ΠΈ 6 Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Inp2. java ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΊΠ»Π°ΡΡ p1. Base, Π° ΠΎΡΡΡΠΊΠΈΠ²Π°Π΅Ρ ΠΎΠ½ ΡΠ°ΠΉΠ» Ρ ΡΡΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΏΠΎ ΠΏΡΡΠΈ p1.Base.class, Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ 7 Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡΠΈ (options) ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°, ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΡ ΡΠ°Π±ΠΎΡΡ Π±ΡΡΡΡΠ΅Π΅.
1. ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΠΊΠ»ΡΡΠΎΠΌd ΠΏΡΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΡΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°:
javacd classes Base. java
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠΎΠ·Π΄Π°ΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ classes ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ1 ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡ ΡΡΠ΄Π° ΡΡΠΈ class-ΡΠ°ΠΉΠ»Π°.
2. ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌclasspath ΠΏΡΡΡ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΏΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ classes, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΡΠΆΠ΅ ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ pi:
javacclasspath classesd classes Inp2. java
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡ ΠΊΠ»ΡΡΠΎΠΌd, ΡΠΎΠ·Π΄Π°ΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ classes ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ2 ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡ ΡΡΠ΄Π° Π΄Π²Π° class-ΡΠ°ΠΉΠ»Π°, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ «Π·Π°Π³Π»ΡΠ΄ΡΠ²Π°Π»» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ pi, ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡ ΠΊΠ»ΡΡΠΎΠΌclasspath.
3. ΠΠ΅Π»Π°Π΅ΠΌ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ classes.
4. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΡΠ°ΠΌΠΌΡ java p2. inp2.
Π ΠΈΡ. Π. 2. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π° ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ IDE, ΡΠΎ Π²ΡΠ΅ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ ΡΠ΄Π΅Π»Π°Π½Ρ Π±Π΅Π· Π²Π°ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΡΠΈΡ.
ΠΠ° ΡΠΈΡ. Π. 2 ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ.
ΠΠΌΠΏΠΎΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²
ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π»ΠΈΡΡΠΈΠ½Π³Π° Π. 2 Π½ΠΎΠ²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ import. ΠΠ»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½ Π½ΡΠΆΠ΅Π½?
ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΊΠ°ΡΡ ΠΊΠ»Π°ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅, ΠΈΠΌΠ΅Π½Π½ΠΎ, Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ°ΠΉΠ»Π°. ΠΠ»Ρ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΎΠ½ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅, ΠΈ ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΏΠΈΡΠ°ΡΡ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ Π. 2 Π²ΠΌΠ΅ΡΡΠΎ Base ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ p1.Base.
ΠΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π΄Π»ΠΈΠ½Π½ΡΠ΅, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ ΡΠ°ΡΡΠΎ, ΡΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ import, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° import ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ: ΠΏΠΈΡΠ΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ import ΠΈ, ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ±Π΅Π», ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ°, Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΡΠΊΠΎΠΉ Ρ Π·Π°ΠΏΡΡΠΎΠΉ. Π‘ΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»Π°ΡΡΠΎΠ² Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² import ΠΈ ΠΏΠΈΡΠ΅ΡΡΡ.
ΠΡΠΎ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΡΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΠΎΡΠ°Ρ ΡΠΎΡΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° import — ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠ°, Π° Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° ΡΡΠ°Π²ΠΈΡΡΡ Π·Π²Π΅Π·Π΄ΠΎΡΠΊΠ° *. ΠΡΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ ΠΏΡΠ΅Π΄ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π΅ΡΡ ΠΏΠ°ΠΊΠ΅Ρ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ
import p1.*;
ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ public. ΠΠ°ΠΊΠ΅Ρ java. lang (ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠ»Π°ΡΡΠΎΠ²) ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π°, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ import Π»ΠΈΠ±ΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠΎΠ΄ΡΠ΅ΡΠΊΠ½Π΅ΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ import Π²Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΠΈ ΡΠ»ΠΎΠ²ΠΎ «ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ» Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ ΠΠΏΠ΅ΡΠ°ΡΠΎΡ import Π½Π΅ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° include Π² Π‘/Π‘++. ΠΠ½ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ.
Java-ΡΠ°ΠΉΠ»Ρ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Java.
Β· Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ package.
Β· Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ import.
Β· ΠΠ°Π»Π΅Π΅ ΠΈΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΡΠ΅ Π΄Π²Π° ΠΏΡΠ°Π²ΠΈΠ»Π°.
Β· Π‘ΡΠ΅Π΄ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ°ΠΉΠ»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΡΠΊΡΡΡΡΠΉ public-ΠΊΠ»Π°ΡΡ.
Β· ΠΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ.
ΠΡΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠΊΡΡΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ .
Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΊΠ»Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΈΠΌΠ΅Π΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΌ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
Π Java ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»Π°ΡΡ Π ΠΈΠ»ΠΈ Π‘ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠ΅ΠΌΡΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. Π. 4, Π°. ΠΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ «ΠΠ΄Π°ΠΌΠ°», ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Πbject. ΠΠΎ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΏΠΎΡΠΎΠ΄ΠΈΡΡ ΠΊΠ»Π°ΡΡ D ΠΎΡ Π΄Π²ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π ΠΈ Π‘, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. Π. 4, Π±. ΠΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (multiple inheritance). Π ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠ»ΠΎΡ ΠΎΠ³ΠΎ. Π’ΡΡΠ΄Π½ΠΎΡΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠ»Π°ΡΡΡ Π ΠΈ Π‘ ΡΠ°ΠΌΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Ρ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. Π. 4 Π². ΠΡΠΎ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ «ΡΠΎΠΌΠ±ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ΅» Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅.
Π ΠΈΡ. Π. 4. Π Π°Π·Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ
ΠΡΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅, Π ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ f (), ΠΊ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΈΠ· Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΊΠ»Π°ΡΡΠ° D. ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ f () Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎ, ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅ Π, Ρ. Π΅. ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ A. f ()? ΠΠΎΠΆΠ΅Ρ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΠΊΠ»Π°ΡΡΠ°Ρ Π ΠΈ Π‘? ΠΡΠ»ΠΈ ΡΠ°ΠΊ, ΡΠΎ ΠΊΠ°ΠΊΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ: B. f () ΠΈΠ»ΠΈ Π‘. f ()? ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΡΠΈΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ², Π½ΠΎ ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°Π·Π³ΠΎΠ²ΠΎΡ.
Π ΡΠ°Π·Π½ΡΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ, Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° f ().
Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»ΠΈ ΡΠ·ΡΠΊΠ° Java Π·Π°ΠΏΡΠ΅ΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠΎΠ±ΡΠ΅. ΠΡΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΎΠ²Π° extends ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠΌΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ super ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ ΡΠ»Π΅Π½Π°ΠΌ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°.
ΠΠΎ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΠΊΠΎΠ²? ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ±ΡΠΈΠΉ ΠΊΠ»Π°ΡΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ Automobile, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠ΄ΠΈΡΡ ΠΊΠ»Π°ΡΡ Π³ΡΡΠ·ΠΎΠ²ΠΈΠΊΠΎΠ² Truck ΠΈ ΠΊΠ»Π°ΡΡ Π»Π΅Π³ΠΊΠΎΠ²ΡΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ Π‘Π°Π³. ΠΠΎ Π²ΠΎΡ Π½Π°Π΄ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΈΠΊΠ°ΠΏ Pickup. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ Π³ΡΡΠ·ΠΎΠ²ΡΡ , ΠΈ Π»Π΅Π³ΠΊΠΎΠ²ΡΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ.
Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΡΠ·ΡΠΊΠ° Java— ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π² ΡΠΎΠΌΠ±ΠΎΠ²ΠΈΠ΄Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΅ΠΎΡΠ΅ΡΠΈΠΊΠΈ ΠΠΠ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π° Π½Π΅ ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ (interface), Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π±Π΅Π· ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠ΅Ρ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ , ΡΡΠΎ ΠΈ ΠΊΠ»Π°ΡΡΡ, ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡΡΡ ΡΠΎΠΆΠ΅ Π² class-ΡΠ°ΠΉΠ»Ρ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° interface, ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ public, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ°, ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π²ΡΡΠ΄Ρ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° public Π½Π΅Ρ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅.
ΠΠΎΡΠ»Π΅ ΡΠ»ΠΎΠ²Π° interface Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, .ΠΏΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΡΡΡ ΡΠ»ΠΎΠ²ΠΎ extends ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²-ΠΏΡΠ΅Π΄ΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ²ΠΎΡ, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ, ΠΏΡΠΈΡΠ΅ΠΌ Π² Π½Π΅ΠΉ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². Π ΡΡΠΎΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π½Π΅Ρ ΠΊΠΎΡΠ½Ρ (ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΠΊΠ°).
ΠΠ°ΡΠ΅ΠΌ, Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅, Π½ΠΎ ΡΠ»ΠΎΠ²ΠΎ abstract ΠΏΠΈΡΠ°ΡΡ Π½Π΅ Π½Π°Π΄ΠΎ. ΠΠΎΠ½ΡΡΠ°Π½ΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅, Π½ΠΎ ΡΠ»ΠΎΠ²Π° static ΠΈ final ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
ΠΡΠ΅ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΊΡΡΡΡ, Π½Π΅ Π½Π°Π΄ΠΎ Π΄Π°ΠΆΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ public.
ΠΠΎΡ ΠΊΠ°ΠΊΡΡ ΡΡ Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡΡ Π΄Π»Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ:
interface Automobile{. .. }
interface Car extends Automobile{. .. }
interface Truck extends Automobile{. .. }
interface Pickup extends Car, Truck{. .. }
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ — ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΡΠΎΡΠΎΠΊ, ΡΡΠΊΠΈΠ·. Π Π½Π΅ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π½ΠΎ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ.
ΠΠ°ΠΊ ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ΅Π½, Π² Π½Π΅ΠΌ Π½Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°?
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½ΡΠΆΠ½ΠΎ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, Π° Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ (implementation). Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° — ΡΡΠΎ ΠΊΠ»Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΡΠ»Π΅ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π΅ΡΡΡ, Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»ΠΎΠ²ΠΎ implements ΠΈ, ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ, ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ².
ΠΠΎΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ:
interface Automobile{. .. }
interface Car extends Automobile!. .. }
class Truck implements Automobile!. .. }
class Pickup extends Truck implements Car{. .. }
ΠΈΠ»ΠΈ ΡΠ°ΠΊ:
interface Automobile{. .. }
interface Car extends Automobile{. .. }
interface Truck extends Automobile{. .. }
class Pickup implements Car, Truck{. .. }
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠΉ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ°ΡΠΏΠΈΡΠ°Π½Ρ, Π° Π΄ΡΡΠ³ΠΈΠ΅ — Π½Π΅Ρ. Π’Π°ΠΊΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ — Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π΅Π³ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π΄ΠΎ ΠΏΠΎΠΌΠ΅ΡΠΈΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ abstract.
ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Π ickup ΠΌΠ΅ΡΠΎΠ΄ f (), ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΡΠ°Π³, ΠΈ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Truck Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ ΡΠΈΠ³Π½Π°ΡΡΡΠΎΠΉ? ΠΡΠ²Π΅Ρ ΠΏΡΠΎΡΡΠΎΠΉ — Π½ΠΈΠΊΠ°ΠΊ. Π’Π°ΠΊΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ Π½Π΅Π»ΡΠ·Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Pickup. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°Π΄ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ.
ΠΡΠ°ΠΊ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Java ΡΠΈΡΡΠΎΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½Π΅ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΡ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ, ΠΏΡΠΈΡΡΡΠΏΠ°Ρ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², Π½Π΅ Π΄ΡΠΌΠ°Ρ ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΡΠΈΡΡΠ²Π°Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ»Π΅Π½ΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°.
ΠΠΈΡΡΠΈΠ½Π³ Π. 3 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° «Ρ ΠΎΡ» Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ .
ΠΠΈΡΡΠΈΠ½Π³ Π. 3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°
interface Voice{
void voice ();
}
class Dog implements Voice{
public void voice (){
System.out.println («Gav-gav!»);
}
}
class Cat implements Voice{
public void voice (){
System.out.println («Miaou!»);
}
}
class Cow implements Voice{
public void voice (){
System.out.println («Mu-u-u!»);
}
}
public class Chorus{
public static void main (String[] args){
Voiced singer = new Voice[3];
singer[0] = new Dog ();
singer[1] = new Cat ();
singer[2] = new Cow ();
for (int i = 0; i < singer. length; i++)
singer[i]. voice ();
}
}
ΠΠ΄Π΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ voice .
Π§ΡΠΎ ΠΆΠ΅ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ: Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ? ΠΠ° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π½Π΅Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ°.
Π‘ΠΎΠ·Π΄Π°Π²Π°Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π²Ρ Π²ΠΎΠ»Π΅ΠΉ-Π½Π΅Π²ΠΎΠ»Π΅ΠΉ ΠΏΠΎΠ³ΡΡΠΆΠ°Π΅ΡΠ΅ Π΅Π³ΠΎ Π² ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΅Π΄ΠΈΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΠΊΠΎΠΌ — ΠΊΠ»Π°ΡΡΠΎΠΌ Πbject. ΠΠΎΠ»ΡΠ·ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π½Π΅ Π·Π°Π΄ΡΠΌΡΠ²Π°ΡΡΡ ΠΎΠ± ΡΡΠΈΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ .
Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π² Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π·Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΡΡ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π²Ρ ΠΎΠ±ΡΠ΅ΡΠ΅Π½Ρ Π½Π° ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅: Π²ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌΠΈ, public, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ ΡΠ°ΡΡΠΈΡΡΡΡ Π΄ΠΎΡΡΡΠΏ, Π° ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π²ΡΠ΅Π³Π΄Π° ΠΎΡΠΊΡΡΡΡ.
ΠΠΎΠΎΠ±ΡΠ΅ ΠΆΠ΅ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π΄Π°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π±ΠΎΠ³Π°ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² Ρ ΠΎΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»Π°ΡΡ, ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π² Π² Π½Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ voice.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ Π. 4.
ΠΠΈΡΡΠΈΠ½Π³ Π. 4. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΡΠΎΡΠΎΠΌ
interface Lights{
int RED = 0;
int YELLOW = 1;
int GREEN = 2;
int ERROR = -1;
}
class Timer implements Lights{
private int delay;
private static int light = RED;
Timer (int sec)(delay = 1000 * sec;}
public int shift (){
int count = (light++) % 3;
try{
switch (count){
case RED: Thread. sleep (delay); break;
case YELLOW: Thread. sleep (delay/3); break;
case GREEN: Thread. sleep (delay/2); break;
}
}catch (Exception e){return ERROR;}
return count;
}
}
class TrafficRegulator{
private static Timer t = new Timer (1);
public static void main (String[] args){
for (int k = 0; k < 10; k++)
switch (t.shift ()){
case Lights. RED: System.out.println («Stop!»); break;
case Lights. YELLOW: System.out.println («Wait!»); break;
case Lights. GREEN: System.out.println («Go!»); break;
case Lights. ERROR: System.err.println («Time Error»); break;
default: System.err.println («Unknown light.»); return;
}
}
}
ΠΠ΄Π΅ΡΡ, Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Lights, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ, ΠΎΠ±ΡΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ»Π°ΡΡ Timer ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅. ΠΠ΅ΡΠΎΠ΄ shift () ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΏΠΎΠ΄Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π»Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅ΡΠΎΡΠΎΡΡ Ρ ΡΠ°Π·Π½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ²Π΅ΡΠ°. ΠΠ°Π΄Π΅ΡΠΆΠΊΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ sleep () ΠΊΠ»Π°ΡΡΠ° Thread ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½ΡΠΆΠ΄Π°Π΅ΡΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ try{} catch () {}.
ΠΠ»Π°ΡΡ TrafficReguiator Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Lights ΠΈ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Lights. RED ΠΈ Ρ. Π΄. ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ RED, YELLOW ΠΈ GREEN ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ
Π ΡΠ΅Π»Π΅ ΠΊΠ»Π°ΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ (nested) ΠΊΠ»Π°ΡΡΠ°. Π Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ½ΠΎΠ²Π° ΠΎΠΏΠΈΡΠ°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ (inner) ΠΊΠ»Π°ΡΡ ΠΈ Ρ. Π΄. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠ»Π΅Π½Π°ΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°? ΠΠΎΠΆΠ½ΠΎ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎ Π²ΡΠ΅ ΠΈ Π·Π°Π΄ΡΠΌΡΠ²Π°Π»ΠΎΡΡ.
Β· Π ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°? ΠΠ΅Ρ, Π½Π΅Π»ΡΠ·Ρ, ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Ρ ΠΎΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΌΠ°ΡΡΠ΅ΡΠΊΠ° Π²Π΅Π΄Ρ!
Β· Π Π΅ΡΠ»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ, ΠΊΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°? ΠΠΌΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π½ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ new ΡΠΎΠΆΠ΅ ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
ΠΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ-ΡΠ»Π΅Π½Ρ ΠΊΠ»Π°ΡΡΠ° (member classes), ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²Π½Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ (local classes), ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ/ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΎΠ². ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΠ»Π΅Π½Π°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ»Π°ΡΡΡ-ΡΠ»Π΅Π½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ static. ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²-ΡΠ»Π΅Π½ΠΎΠ² Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ°ΠΊΠΈΠΌ ΠΊΠ»Π°ΡΡΠ°ΠΌ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ (nestee tep-level classes), Ρ ΠΎΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ-ΡΠ»Π΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π°. Π Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ.
ΠΡΠ΅ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ (inner). Π Π½ΠΈΡ Π½Π΅Π»ΡΠ·Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅Π½Ρ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² Π±Π»ΠΎΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΠΌΠΈ (anonymous classes).
ΠΡΠΈΠΌΠ΅Ρ.
ΠΠΈΡΡΠΈΠ½Π³ ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ
class Nested{
static private int pr; // ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ pr ΠΎΠ±ΡΡΠ²Π»Π΅Π½a ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ
// ΡΡΠΎΠ±Ρ ΠΊ Π½Π΅ΠΉ Π±ΡΠ» Π΄ΠΎΡΡΡΠΏ ΠΈΠ· ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π ΠΈ ΠΠ
String s = «Member of Nested» ;
// ΠΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ.
static class .Π{ // ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° — Nested. A
private int a=pr;
String s = «Member of A» ;
// ΠΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌ ΠΊΠ»Π°ΡΡ, Π Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ
static class AB{ // ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° — Nested.Π.ΠΠ
private int ab=pr;
String s = «Member of AB» ;
}
}
//Π ΠΊΠ»Π°ΡΡ Nested Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π½Π΅ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ
class Π{ // ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° — Nested. Π
private int b=pr;
String s = «Member of B» ;
// Π ΠΊΠ»Π°ΡΡ Π Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ
class ΠΠ‘{ // ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° — Nested.Π.ΠΠ‘
private int bc=pr;
String s = «Member of ΠΠ‘» ;
}
void f (final int i){ // ΠΠ΅Π· ΡΠ»ΠΎΠ²Π° final ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ i ΠΈ j
final int j = 99; // Π½Π΅Π»ΡΠ·Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ D
class D{ // ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ D ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ f ()
private int d=pr;
String s = «Member of D» ;
void pr (){
// ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ
// ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ «s»
System.out.println (s + (i+j)); // «s» ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ «this.s»
System.out.println (B.this.s);
System.out.println (Nested.this.s);
// System.out.println (AB.this.s); // ΠΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ°
// System.out.println (A.this.s); // ΠΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠ°
}
}
D d = new D (); // ΠΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΡ ΠΆΠ΅, Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ f ()
d.pr (); // ΠΠ±ΡΠ΅ΠΊΡ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ f ()
}
}
void m (){
new Object (){ // Π‘ΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π±Π΅Π·ΡΠΌΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°,
// ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°
private int e = pr;
void g (){
System.out.println («From g ()) ;
}
}.g (); // Π’ΡΡ ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°
}
}
public class NestedClasses{
public static void main (String[] args){
Nested nest = new Nested (); // ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΡΡ
// ΡΡΠΈ ΠΌΠ°ΡΡΠ΅ΡΠΊΠΈ
Nested.A theA = nest. new A (); // ΠΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΡΡΠΎΡΠ½Π΅Π½Π½Π°Ρ
// ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ new. ΠΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°
Nested.A.AB theAB = theA. new AB (); // Π’Π΅ ΠΆΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°. ΠΠΏΠ΅ΡΠ°ΡΠΈΡ
// new ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ
Nested.Π theB = nest. new B (); // ΠΡΠ΅ ΠΎΠ΄Π½Π° ΠΌΠ°ΡΡΠ΅ΡΠΊΠ°
Nested.Π.ΠΠ‘ theBC = theB. new BC ();
theB.f (999); // ΠΠ΅ΡΠΎΠ΄Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ
nest.m ();
}
}
ΠΠ°Π΄ΠΈΠΌ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ.
Β· ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΠ»ΡΠΌ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° Nested Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΎΡΠΎΠ²ΡΡΠ΄Ρ, Π΄Π°ΠΆΠ΅ ΠΊ Π·Π°ΠΊΡΡΡΠΎΠΌΡ ΠΏΠΎΠ»Ρ pr. ΠΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π² Java ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π½ΠΎ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ ΠΊΠΎΠ½ΡΡ Ρ ΠΊΠΎΠ½ΡΠ°ΠΌΠΈ.
Β· Π―Π·ΡΠΊ Java ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π° Π² ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ — ΠΏΡΠΈΡΠ»ΠΎΡΡ ΡΡΠΎΡΠ½ΡΡΡ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ this ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°: Nested. this, Π.this.
Β· Π Π±Π΅Π·ΡΠΌΡΠ½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°, Π²Π΅Π΄Ρ ΠΈΠΌΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠ»Π°ΡΡΠ°, — ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ ΠΊΠ»Π°ΡΡ object. ΠΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Π² Π±Π΅Π·ΡΠΌΡΠ½Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ°.
Β· ΠΠ΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½Π΅ ΡΠΎΠ·Π΄Π°Π² ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°, — ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠΎΠ΄ΡΡΡΠ°Ρ ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ new ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ°— nest. new, theA. new, theB.new.
Β· ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π½ΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ new Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠΈΠ»ΡΠ½ΠΎ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ·ΡΠΊΠ°.
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ? ΠΠΎΠΆΠ½ΠΎ.
Β· ΠΠ°ΠΊ ΠΈΠ· ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°? ΠΠΎΠ½ΡΡΠ°Π½ΡΠ° super ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ΅ this.
Β· Π ΠΌΠΎΠ³ΡΡ Π»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²? ΠΠΎΠ³ΡΡ.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ°Π½Π΅Ρ ΠΏΠΎΠ½ΡΡΠ½Π΅Π΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π°ΠΌΠΈ ΡΠΎΠ·Π΄Π°Π» ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ:
Β· Nested$l$D.class — Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΎ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π² ΠΊΠ»Π°ΡΡ Nested;
Β· NestedSl. class — Π±Π΅Π·ΡΠΌΡΠ½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ;
Β· Nested$A$AB.class — ΠΊΠ»Π°ΡΡ Nested.A.AB;
Β· Nested$A.class — ΠΊΠ»Π°ΡΡ Nested. Π;
Β· Nested$B$BC.class — ΠΊΠ»Π°ΡΡ Nested.B.BC;
Β· NestedSB. class — ΠΊΠ»Π°ΡΡ Nested. B;
Β· Nested. class — Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»Π°ΡΡ Nested;
Β· NestedClasses. class — ΠΊΠ»Π°ΡΡ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ main ().
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΡΠ°Π·Π»ΠΎΠΆΠΈΠ» ΠΌΠ°ΡΡΠ΅ΡΠΊΠΈ ΠΈ, ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π°, ΡΠΎΠ·Π΄Π°Π» ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΈ ΡΡΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°Ρ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡ ΡΠΎΡΠΊΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΈΡ Π·Π½Π°ΠΊΠ°ΠΌΠΈ Π΄ΠΎΠ»Π»Π°ΡΠ°. ΠΠ»Ρ Π±Π΅Π·ΡΠΌΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» ΠΈΠΌΡ. ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ ΠΏΠΎΠΌΠ΅ΡΠΈΠ» Π½ΠΎΠΌΠ΅ΡΠΎΠΌ.
ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Java Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π²ΡΡΠ°Π²Π»ΡΠ΅Ρ Π² Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°ΠΊΡΡΡΡΠ΅ ΠΏΠΎΠ»Ρ. ΠΠΎΡΡΠΎΠΌΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΌΠ»ΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°, Ρ. Π΅. ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΡΠ»ΠΎΠ²ΠΎΠΌ final. ΠΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° ΠΏΡΠΎΡΡΠΎ Π½Π΅ Π΄ΠΎΠ³Π°Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ private, Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΠ½ΠΈ Π²ΡΡ ΠΎΠ΄ΡΡ Π½Π° ΡΠ°ΠΌΡΠΉ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ.
ΠΡΠ΅ ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π±ΡΠ°ΡΡ Π² Π³ΠΎΠ»ΠΎΠ²Ρ. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π² Java ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΠΏΡΠΎΡΡΠΎΠΌ Π²ΠΈΠ΄Π΅, Π³Π»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΠΉ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΏΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡ Ρ ΠΌΡΡΡΡ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ.
Π ΠΊΠ°ΠΊΠΈΡ ΠΆΠ΅ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ? Π ΡΠ΅ΠΎΡΠΈΠΈ ΠΠΠ Π²ΠΎΠΏΡΠΎΡ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ «Π±ΡΡΡ ΡΠ°ΡΡΡΡ» ΠΈ «ΡΠ²Π»ΡΡΡΡΡ» .
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΡ «Π±ΡΡΡ ΡΠ°ΡΡΡΡ» ΠΈ «ΡΠ²Π»ΡΡΡΡΡ»
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π΄Π²Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠ΄Π½Ρ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², Π΄ΡΡΠ³ΡΡ — Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ², ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠ»Π°ΡΡΡ Π±ΡΠ΄ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡ Π±ΡΠ΄Π΅Ρ, ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ²? ΠΡΡΠ°ΡΡΠΈΡΡ ΠΏΡΡΠ½ΠΎΠ΅ Π³Π΅Π½Π΅Π°Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΊΠ»Π°ΡΡΠΎΠ²-Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΠΈΡΠ°ΡΡ ΠΌΠ°ΡΡΠ΅ΡΠΊΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ²?
Π’Π΅ΠΎΡΠΈΡ ΠΠΠ ΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΡΡΠ½ΠΈΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²Π°ΡΠΈ ΠΊΠ»Π°ΡΡΡ P ΠΈ Q — Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ «ΠΊΠ»Π°ΡΡ Q ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° P» («a class Q is a class Ρ») ΠΈΠ»ΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ «ΠΊΠ»Π°ΡΡ Q — ΡΠ°ΡΡΡ ΠΊΠ»Π°ΡΡΠ° P» («a class Q has a class P»).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: «Π‘ΠΎΠ±Π°ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΆΠΈΠ²ΠΎΡΠ½ΡΠΌ» ΠΈΠ»ΠΈ «Π‘ΠΎΠ±Π°ΠΊΠ° — ΡΠ°ΡΡΡ ΠΆΠΈΠ²ΠΎΡΠ½ΠΎΠ³ΠΎ»? Π―ΡΠ½ΠΎ, ΡΡΠΎ Π²Π΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ «is-a», ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΊΠ»Π°ΡΡ Dog ΠΊΠ°ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° Pet.
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ «is-a» — ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ «ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅-Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ», ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ΠΉ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, ΠΈ Π΅ΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ «has-a» — ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ «ΡΠ΅Π»ΠΎΠ΅-ΡΠ°ΡΡΡ», Π΅ΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 3. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ
ΠΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² (callback) ΡΠΈΡΠΎΠΊΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π·Π°Π΄Π°Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΆΠ°ΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ. ΠΠ°ΠΊΠ΅Ρ java. swing ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ»Π°ΡΡ Timer, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΡΡΠ΅ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΠ°ΡΡ, ΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°ΡΡΠ° Timer, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠΈΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΈΡΠ΅ΡΠ±Π»Π°Ρ ΡΠ°ΡΠΎΠ². Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Ρ ΡΠ°ΠΉΠΌΠ΅Ρ, ΠΌΡ Π·Π°Π΄Π°Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ.
ΠΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΡ, ΡΡΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°ΡΡ? ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΈΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ.
ΠΠ»Π°ΡΡΡ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΠ·ΡΠΊΠ° Java ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° — Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΡΡΠΈ Ρ ΡΠΎΠ±ΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ½Π°ΡΠΈΡ, ΡΠ°ΠΉΠΌΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ·Π²Π°ΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ActionListener ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° java.awt.event.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
public interface ActionListener
{
void actionPerformed (ActionEvent event);
}
ΠΠΎ ΠΈΡΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠΌΠ΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ actionPerformed.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΡΡΡ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 10 ΡΠ΅ΠΊΡΠ½Π΄ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ «Π’Π΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ …», ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΠ΅ Π·Π²ΡΠΊΠΎΠ²ΡΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ»Π°ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ActionListener. ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ, Π²Π½ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° actionPerformed.
class Timerprinter implements ActionListener
{
public void actionPerformed (ActionEvent event)
{
Date now= new Date ();
System.out.println («Π’Π΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ:» + now);
Toolkit.getDefaultToolkit ().bΠ΅ep ();
}
}
ΠΠ°ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΡ ΠΊΠ»Π°ΡΡΠ° Timer.
ActionListener listener=new TimerPrinter ();
Timer t=new Timer (10 000, listener);
ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° Timer ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΠ°, ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π½ΡΠΉ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ΄Π°Π²Π°ΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΊΠ°ΠΆΠ΄ΡΠ΅ Π΄Π΅ΡΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄.
ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° ActionListener
ΠΠ°ΠΏΡΡΠΊ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
t.start ();
ΠΠ°ΠΆΠ΄ΡΠ΅ 10 ΡΠ΅ΠΊΡΠ½Π΄ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠ΅ΠΊΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 6.2. ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ.
import java.awt.*;
import java.awt.event*;
import javax.swing.*;
import javax.swing.Timer*; // ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ javax.util.Timer
public class TimerTest
{
public static void main (string[ ] args)
{
ActionListener listener= new TimerPrinter ();
// Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ, Π²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 10 ΡΠ΅ΠΊ.
Timer t=new Timer (10 000, listener);
t.start ();
JOptionPΠ°ne.showMessageDialog (null,"ΠΡΡ ΠΎΠ΄?");
System.exit (0);
}
}
class Timerprinter implements ActionListener
{
public void actionPerformed (ActionEvent event)
{
Date now= new Date ();
System.out.println («Π’Π΅ΠΊΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ:» + now);
Toolkit.getDefaultToolkit ().bΠ΅ep ();
}
}