ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java Β«Π§Π°Ρ‚Β»

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ возмоТности вашСй ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Π½Π΅ΠΉ достаточного количСства рСсурсов, ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ срСдствами прСвратится Π² ΡΠΏΠ»ΠΎΡˆΠ½Ρ‹Π΅ мучСния, Ρ‚.ΠΊ. Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ срСд Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наличия Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ соврСмСнной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, здСсь Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ваши Π»ΠΈΡ‡Π½Ρ‹Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Java Β«Π§Π°Ρ‚Β» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. ОписаниС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
    • 1.1 Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
    • 1.2 CΡ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse
    • 1.3 Установка срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse
    • 1.4 ОписаниС языка Java
  • 2. ОписаниС классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²
    • 2.1 ОписаниС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅
    • 2.2 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сСрвСра
    • 2.3 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
  • 3. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
    • 3.1 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ сСрвСра
    • 3.2 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
    • 3.3 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π°Ρ‚Π°
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Cписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Java являСтся основой практичСски для всСх Ρ‚ΠΈΠΏΠΎΠ² сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΡΠ΅ΠΎΠ±Ρ‰ΠΈΠΌ стандартом для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚ранСния встроСнных ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠ³Ρ€, Π²Π΅Π±-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π’ ΠΌΠΈΡ€Π΅ насчитываСтся Π±ΠΎΠ»Π΅Π΅ 9 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² спСциалистов, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… прилоТСния Π½Π° Java, которая позволяСт эффСктивно Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСвосходныС прилоТСния ΠΈ ΡƒΡΠ»ΡƒΠ³ΠΈ.

ΠžΡ‚ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π΄ΠΎ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ² сбора Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… консолСй Π΄ΠΎ ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, ΠΎΡ‚ ΡΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² Π΄ΠΎ ΡΠ΅Ρ‚ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ — Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ:

— Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° 97% ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠŸΠš;

— Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° 89% Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠŸΠš Π² Π‘ША;

— 9 ΠΌΠ»Π½ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° Java Π² ΠΌΠΈΡ€Π΅;

— Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ 1 срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²;

— ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½ΠΎΠΌΠ΅Ρ€ 1 срСди Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²;

— Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² 3 ΠΌΠ»Ρ€Π΄ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²;

— Java Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ поставки 100% всСх ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚Π΅Π»Π΅ΠΉ дисков

Blu-ray;

— Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ся 5 ΠΌΠ»Π½ Java Card;

— Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² 125 ΠΌΠ»Π½ Π’Π’-устройств;

— 5 ΠΈΠ· 5 основных ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ оборудования вклю;

Ρ‡Π°ΡŽΡ‚ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ поставки Java ME.

ВСхнология Java протСстирована, ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π°, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° участниками сообщСства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Java, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΡΠ½Ρ‚узиас Ρ‚ΠΎΠ². Java позволяСт Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠΎΡ€Ρ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ прилоТСния практичСски Π½Π° Π²ΡΠ΅Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… срСдах позволяСт компаниям ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр услуг, способствуСт ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, уровня взаимодСйствия ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌΡƒ сниТСнию стоимости совмСстного владСния ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ прилоТСниями. Java стала Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ инструмСнтом для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° для Π½ΠΈΡ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ возмоТности:

— Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Π΅Π³ΠΎ запуск практичСски Π½Π° Π»ΡŽΠ±ΠΎΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅;

— ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… доступ ΠΊ Π²Π΅Π±-слуТбам;

— Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡ‚ΠΎΡ€ΠΎΠ½Π΅ сСрвСра для Ρ„ΠΎΡ€ΡƒΠΌΠΎΠ² Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ², опросов, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„ΠΎΡ€ΠΌ HTML ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ;

— ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ слуТб с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ языка Java для создания высокоспСциализированных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ слуТб;

— ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ², ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… процСссоров, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², бСспроводных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ², шлюзов, ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€Π°ΠΊΡ‚ичСски Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ элСктронных устройств.

1. ОписаниС срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

1.1 Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (Integrated Development Environment, IDE) — это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ всС этапы Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΡ‚ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎ Π΅Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΠΈ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ простоС ΠΈ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΅ взаимодСйствиС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ срСдствами.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ возмоТности вашСй ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² Π½Π΅ΠΉ достаточного количСства рСсурсов, ΠΈΠ½Π°Ρ‡Π΅ Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ срСдствами прСвратится Π² ΡΠΏΠ»ΠΎΡˆΠ½Ρ‹Π΅ мучСния, Ρ‚.ΠΊ. Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ срСд Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ наличия Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ соврСмСнной ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, здСсь Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ваши Π»ΠΈΡ‡Π½Ρ‹Π΅ пристрастия ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Сния. НСкоторыС сидят Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… тСкстовых Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°Ρ… со ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΌ JDK Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ Π½Π΅ Ρ‡ΡƒΠ²ΡΡ‚Π²ΡƒΡŽΡ‚ нСобходимости Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Eclipse, NetBeans ΠΈΠ»ΠΈ Microsoft Visual Studio.

Π’Ρ‹Π±ΠΎΡ€ остановим Π½Π° ΡΡ€Π΅Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse.

1.2 CΡ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse

Eclipse — ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… инструмСнтов Java, созданных Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹. SDK Eclipse прСдставляСт собой ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду Ρ€Π°Π·-Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE, Integrated Development Environment) с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства Eclipse Java Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² ΡΠ΅Π±Ρ: Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ исходного ΠΊΠΎΠ΄Π° (созданиС ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ исходного тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ), срСдства ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Ant. ΠšΡ€ΠΎΠΌΠ΅ этого Π² Eclipse доступны мноТСство бСсплатных ΠΈ ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ (ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²), Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства создания схСм UML, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€.

БобствСнно сама ΠΏΠΎ ΡΠ΅Π±Π΅ Eclipse — это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ дополнСния, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ. Π’ Eclipse доступны дополнСния для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… языков: C/C++, Html, Cobol, Perl, Php, Ruby ΠΈ Π΄Ρ€. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ собствСнноС Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ возмоТностСй Eclipse.

Eclipse Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Linux, Microsoft Windows ΠΈ Mac OS. Для Π΅Π΅ Π·Π°ΠΏΡƒΡΠΊΠ° трСбуСтся JVM (Java Virtual Machine) — Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ Java-машина, Π° Ρ‚Π°ΠΊΠΆΠ΅ JDK (Java Development Kit) — Π½Π°Π±ΠΎΡ€ для Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π’Π°Π±Π»ΠΈΡ†Π° 1 — ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ систСмныС трСбования.

ВрСбования

МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

ВСрсия Java

1.4.0

1.6.0 ΠΈ Π²Ρ‹ΡˆΠ΅

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ

128 Мб

1 Π“Π± ΠΈ Π²Ρ‹ΡˆΠ΅

Π‘Π²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ пространсто Π½Π° Π–Π”

300 Мб

1 Π“Π‘ ΠΈ Π±ΠΎΠ»Π΅Π΅

ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€

533 ΠœΠ“Ρ†

1,5 Π“Π“Ρ† ΠΈ Π±ΠΎΠ»Π΅Π΅

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ знакомствС со ΡΡ€Π΅Π΄ΠΎΠΉ IDE Eclipse ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСсколько слоТной для Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡΠΈΡΡ‚Π΅ΠΌΠΎΠΉ, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡΠ½ΠΈΡ‚ΡŒ сСбС основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ срСды: Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство, инструмСнты, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚авлСния.

Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΌ случаС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство (workspace) — это ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ВсС, Ρ‡Ρ‚ΠΎ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, считаСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ пространства.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства Eclipse становятся доступны сразу послС запуска прилоТСния. Π­Ρ‚ΠΎ ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ сама ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню, Π³Π΄Π΅ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго выдСляСтся Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ЀактичСская ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, осущСствляСтся дополнСниями (ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² осущСствляСтся JDT, ΠΈ Ρ‚. Π΄.

К ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ (workbench) относится Π½Π°Π±ΠΎΡ€ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΉ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области Eclipse. Для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΉ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ пСрспСктивой ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ.

Компоновка (perspective) — это Π½Π°Π±ΠΎΡ€ прСдставлСний ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², располоТСнных Π² Ρ‚ΠΎΠΌ порядкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ трСбуСтся. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ΅ присутствуСт свой Π½Π°Π±ΠΎΡ€ инструмСнтов, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Ρ‹ инструмСнтов. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°. ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°ΠΌΠΈ осущСствляСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиш .

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ своС Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ пространство ΠΏΠΎΠ΄ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ выполняСмой Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ ΠΏΠΎΡΠΎΠ±ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, связанныС Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π° Java, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ: Debug, Java Browsing, Java.

Π’ Eclipse имССтся Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ свои ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Window / Open Perspective.

Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ (ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ Π΄Ρ€.).

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ дополнСниями ΠΊ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°ΠΌ, Π³Π΄Π΅ выводится информация ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎ Ρ„Π°ΠΉΠ»Π΅, находящСмся Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ прСдставлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Window / Show View.

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ (project) прСдставляСт собой Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² прилоТСния ΠΈ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Ρ‹, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ: .java, .jsp, .xml.

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ (plug-in) Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСно Π² Eclipse. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ дополнСния ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ JDT.

ΠœΠ°ΡΡ‚Π΅Ρ€ — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ срСдство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π² Π½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠ°Ρ… ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ слоТной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’ Eclipse имССтся мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… мастСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ, бСря Ρ‡Π°ΡΡ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π° ΡΠ΅Π±Ρ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ мастСра ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ мастСр создания Π½ΠΎΠ²ΠΎΠ³ΠΎ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π² Ρ‚Π°ΠΊΠΈΡ… опСрациях, ΠΊΠ°ΠΊ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Π½ΡƒΠΆΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, созданиС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° класса, автоматичСская расстановка ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚. Π΄.

1.3 Установка срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse

Π’ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π°Ρ установлСна нуТная вСрсия Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Java. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° ΡΠ°ΠΉΡ‚Π΅ eclipse.org.

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΠ»ΠΈ Java VM, ΠΌΡ‹ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ JDK.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Eclipse построСн Π½Π° Java, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ для выполнСния Java Development Kit (JDK) — бСсплатно распространяСмый ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Oracle Corporation (Ρ€Π°Π½Π΅Π΅ Sun Microsystems) ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Java, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π² ΡΠ΅Π±Ρ компилятор Java (javac), стандартныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов Java, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ систСму Java (JRE). Π’ ΡΠΎΡΡ‚Π°Π² JDK Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Java, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ JDK, Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшний тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» JDK Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²Π°ΡˆΠ΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (x86, x64) ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ.

Рисунок 1 — Окно установки JDK

ПослС установки Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡƒΡΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ² JDK Π² ΠΏΡƒΡ‚ях ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ основныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Использована ОБ Windows 7.0. Π’ ΠΌΠ΅Π½ΡŽ ΠŸΡƒΡΠΊ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Π½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ. Π’ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Бвойства. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ систСмы. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠΊΠ½ΠΎ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π°Π΄ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды. Π’ ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ — JAVA_HOME. И ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Path. Для этого Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ.

Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: JAVA_HOME.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ: C: eclipsJavajdk1.7.010.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Path ΡƒΠΆΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ Π΅Π΅ Π½Π°ΠΉΡ‚ΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Но Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ — Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ… здСсь Π½Π°Π΄ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ строку ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ поставив; Π² ΠΊΠΎΠ½Ρ†Π΅ списка всСх ΠΏΡƒΡ‚Π΅ΠΉ. И Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ… — Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку bin послС (;C:eclipseJavajdk1.7.0_10bin).

Рисунок 2 — Окно измСнСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Path

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΡΠ΄Π΅Π»Π°Π»ΠΈ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ шаги для установки JDK.

ΠŸΡ€Π΅ΡΡ‚ΡƒΠΏΠ°Π΅ΠΌ ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ΅ Eclipse. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π΄Π²Π°ΠΆΠ΄Ρ‹ Π½Π° Ρ„Π°ΠΉΠ»Π΅ eclipse. exe, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Eclipse. Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ пространства (workspace) — ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ пространства ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтся ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ инсталляции, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, C: eclipseworkspace — появится Π Π°Π±ΠΎΡ‡Π΅Π΅ ΠœΠ΅ΡΡ‚ΠΎ (Workbench).

Рисунок 3 — Окно запуска Eclipse

1.4 ОписаниС языка Java

eclipse java ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ‡Π°Ρ‚ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ООП) это основная характСристика языка java. ЀактичСски всС jΠ°vΠ°-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ, ΠΏΠΎ ΠΌΠ΅Π½ΡŒΡˆΠ΅ΠΉ ΠΌΠ΅Ρ€Π΅, частично, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ. Π―Π·Ρ‹ΠΊ java связан с ΠžΠžΠŸ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ тСсно, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡŽ Π½Π° Π½Π΅ΠΌ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, слСдуСт Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ ООП:

— Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ связываСт ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ½ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚, защищая ΠΎΠ±Π° эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΎΡ‚ Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΈ Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΉ. Один ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов прСдставлСния инкапсуляции прСдставлСниС Π² Π²ΠΈΠ΄Π΅ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, которая прСдохраняСт ΠΊΠΎΠ΄ ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ доступа со ΡΡ‚ΠΎΡ€ΠΎΠ½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, находящСгося снаруТи ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Доступ ΠΊ ΠΊΠΎΠ΄Ρƒ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌ, находящимся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, строго ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ интСрфСйсом.

— ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ — процСсс, посрСдством ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ свойства Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ иСрархичСской классификации. Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ свСдСний становится доступным для понимания посрСдством иСрархичСских (Ρ‚.Π΅. нисходящих) классификаций.

— ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ (ΠΎΡ‚ Π³Ρ€Π΅Ρ‡Π΅ΡΠΊΠΎΠ³ΠΎ слова, ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π³ΠΎ «ΠΌΠ½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌ») свойство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс для ΠΎΠ±Ρ‰Π΅Π³ΠΎ класса дСйствий. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ дСйствиС опрСдСляСтся ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΎΠΌ ситуации.

Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Π΅ особСнности языка Java:

— ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ. Бинтаксис языка Java, ΠΏΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²Ρƒ, прСдставляСт собой ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ синтаксиса языка C++. Π’ ΡΡ‚ΠΎΠΌ языкС Π½Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ (ΠΈ ΡΠ°ΠΌΠΈΡ… ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ), структур, объСдинСний, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов ΠΈ Ρ‚. ΠΏ.;

— ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ. Π­Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ программирования, Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ внимания ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ находятся Π΄Π°Π½Π½Ρ‹Π΅ (Ρ‚.Π΅. ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹) ΠΈ ΡΡ€Π΅Π΄ΡΡ‚Π²Π° доступа ΠΊ Π½ΠΈΠΌ;

— Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ. Java ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² TCP/IP (Transmission Control Protocol/Internet Protocol-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» управлСния ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ/Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»), ΠΊΠ°ΠΊ HTTP (Hypertext Transfer Protocol — ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ гипСртСкстов) ΠΈΠ»ΠΈ FTP (File Transfer Protocol-ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²). ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, написанныС Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Java, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈ URL-адрСсов (Uniform Resource Location — ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ адрСс рСсурса) Ρ‚Π°ΠΊ ΠΆΠ΅ Π»Π΅Π³ΠΊΠΎ, ΠΊΠ°ΠΊ Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ сСти;

— Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ. Π―Π·Ρ‹ΠΊ Java ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Π΄Π΅ΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π»ΡŽΠ±Ρ‹Ρ… ситуациях. ОсновноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΡΠ·Ρ‹ΠΊΠ΅ Java удСляСтся Ρ€Π°Π½Π½Π΅ΠΌΡƒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ошибок, динамичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ (Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ситуаций, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½Ρ‹Ρ… ошибкам. компилятор языка Java выявляСт Ρ‚Π°ΠΊΠΈΠ΅ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΡΡ‚Π°ΠΏΠ΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

— Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ‹ΠΉ. Π―Π·Ρ‹ΠΊ Java ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для использования Π² ΡΠ΅Ρ‚Π΅Π²ΠΎΠΉ ΠΈΠ»ΠΈ распрСдСлСнной срСдС. По ΡΡ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ большоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ ΡƒΠ΄Π΅Π»Π΅Π½ΠΎ бСзопасности. Π―Π·Ρ‹ΠΊ Java позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ систСмы, Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π²ΠΈΡ€ΡƒΡΠΎΠ² ΠΈ ΠΏΠΎΡΡ‚ΠΎΡ€ΠΎΠ½Π½Π΅Π³ΠΎ Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π°;

— Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰ΠΈΠΉ ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ‚ ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, скомпилированная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° Π»ΡŽΠ±Ρ‹Ρ… процСссорах ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ систСмы выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ языка Java. Для этого компилятор языка Java Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Π°, Π½Π΅ Π·Π°Π²ΠΈΡΡΡ‰ΠΈΠ΅ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°;

— ΠΌΠ°ΡˆΠΈΠ½ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡ‹ΠΉ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΠ·Ρ‹ΠΊΠΎΠ² Π‘ ΠΈ C++, Π² ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Java Π½Π΅Ρ‚ аспСктов, зависящих ΠΎΡ‚ ΡΠΈΡΡ‚Π΅ΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. И Ρ€Π°Π·ΠΌΠ΅Ρ€ основных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ Π°Ρ€ΠΈΡ„мСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π½ΠΈΠΌΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹;

— ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ языка Java ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄ нСпосрСдствСнно Π½Π° Π½Π΅ΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ связСй — Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΉ процСсс, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½Π΅Π΅;

— Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ. Π₯отя ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π±Ρ‹Π²Π°ΡŽΡ‚ ситуации, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ высокая ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ. Π‘Π°ΠΉΡ‚-ΠΊΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ «Π½Π° Π»Π΅Ρ‚Ρƒ» (Π²ΠΎ Π²Ρ€Π΅ΠΌΡ выполнСния) Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ процСссора, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅;

— ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

— Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹ΠΉ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ… язык Java являСтся Π±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ языки Π‘ ΠΈΠ»ΠΈ C++. Он Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΠΎΡΡ‚оянно ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰Π΅ΠΉΡΡ срСдС. Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ свободно Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ Π²Ρ€Π΅Π΄Π°. Π―Π·Ρ‹ΠΊ Java позволяСт Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2. ОписаниС классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

2.1 ОписаниС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅

Π‘ΠΎΠΊΠ΅Ρ‚ — Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса для обСспСчСния ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами. ΠŸΡ€ΠΎΡ†Π΅ΡΡΡ‹ ΠΏΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π­Π’Πœ, Ρ‚Π°ΠΊ ΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π­Π’Πœ, связанных ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΡΠ΅Ρ‚ΡŒΡŽ. Π‘ΠΎΠΊΠ΅Ρ‚ — абстрактный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Π΅Ρ‡Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ соСдинСния. Π‘ΠΎΠΊΠ΅Ρ‚ — это комбинация IP-адрСса ΠΈ ΠΏΠΎΡ€Ρ‚Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΡΠ»ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΉ сокСт (сСрвСрный сокСт) ΠΈ ΠΏΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΡ€Ρ‚Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π‘Π»ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΉ процСсс ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π² Ρ†ΠΈΠΊΠ»Π΅ оТидания, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ просыпаСтся ΠΏΡ€ΠΈ появлСнии Π½ΠΎΠ²ΠΎΠ³ΠΎ соСдинСния. Для нас это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сСрвСр Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΡ€Ρ‚ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с Π½ΠΈΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ дСйствия.

ΠŸΠ°ΠΊΠ΅Ρ‚ java.awt. содСрТит классы для написания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов, Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, рисования.

Abstract Window Toolkit (AWT) — это исходная платформонСзависимая оконная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° графичСского интСрфСйса языка Java.

ΠŸΠ°ΠΊΠ΅Ρ‚ java.io. содСрТит Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ классы, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡ‚ΠΎΠΊ Π΄Π°Π½Π½Ρ‹Ρ… (Stream (ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСсурсами)), InputStream (ΠΌΡ‹ Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΈΠ· Ρ€Π΅ΡΡƒΡ€ΡΠ°), OutputStream (ΠΌΡ‹ ΠΏΠΈΡˆΠ΅ΠΌ Π² Ρ€Π΅ΡΡƒΡ€Ρ). Π’ Π½Π°ΡˆΠ΅ΠΌ случаС рСсурсом являСтся сокСт.

ΠŸΠ°ΠΊΠ΅Ρ‚ java.net. содСрТит Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ классы, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΡΠ΅Ρ‚ΡŒΡŽ. Socket (устанавливаСт TCP-соСдинСния, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅), ServerSocket (ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ Socet’ΠΎΠ²).

ΠŸΠ°ΠΊΠ΅Ρ‚ java.awt.event. обСспСчиваСт интСрфСйсы ΠΈ ΠΊΠ»Π°ΡΡΡ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ событий, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ AWT.

ΠŸΠ°ΠΊΠ΅Ρ‚ javax.swing. содСрТит Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для создания графичСского интСрфСйса ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Java. Он ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ряд графичСских ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ, поля Π²Π²ΠΎΠ΄Π°, Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Ρ‚. Π΄.

2.2 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сСрвСра

На ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… класса (NetServerThread ΠΈ Incoming). ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сообщСния ΠΎΡ‚ Π²ΡΠ΅Ρ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π·Π°Π½ΠΎΡΠΈΡ‚ ΠΈΡ… Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ классС происходит ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сообщСний, ΠΈΠ· Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½ΠΎΠΉ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ (для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ успСвали ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ сообщСния). По Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ счёту, сСрвСр являСтся рСтранслятором сообщСний ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ся Π² ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Класс NetServerThread. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΡΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса ServerSocket, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся server ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π΅ΠΌΡƒ ΠΏΠΎΡ€Ρ‚ для чтСния 8030. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ с ΡΡ‚ΠΈΠΌ ΠΏΠΎΡ€Ρ‚ΠΎΠΌ. ПослС этого, для нашСго ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ accept (). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ заставляСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΡ€Ρ‚Ρƒ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π»Π°ΡΡŒ послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΌΡ‹ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π΅Ρ‘ Π² Ρ†ΠΈΠΊΠ» while (true). ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ информация ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ заносится Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ s ΠΊΠ»Π°ΡΡΠ° Socket, послС Ρ‡Π΅Π³ΠΎ ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘тся Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ — класс Incoming.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ NetServerThread:

— getOutputStream () — для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ;

— start () — для запуска созданных ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²;

— send (String msg) — отправляСт сообщСниС Π½Π° ΡΠΊΡ€Π°Π½ Ρ‡Π°Ρ‚Π°;

— flush () — освобоТдаСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ° (Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ пустым).

— Thread. sleep (100) — заставляСт ΡΠΏΠ°Ρ‚ΡŒ сСрвСр 100 миллисСкунд (Π·Π°Π΄Π°Ρ‘ΠΌ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ ΠΏΠΎΡ‚ΠΎΠΊΡƒ).

Класс Incoming. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΡƒΡŽ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Π·Π°Π½ΠΎΡΠΈΠΌ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ Incoming:

— getInputStream () — ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ сообщСния ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²;

— readLine () — считываСт строку Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ сообщСния;

Класс InputStreamReader использован для дСкодирования входящий Π±Π°ΠΉΡ‚ΠΎΠ² Π² ΡΠΈΠΌΠ²ΠΎΠ»Ρ‹.

Класс BufferedReader Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ тСкст ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, буфСризируя символы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эффСктивноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ символов, массивов ΠΈ ΡΡ‚Ρ€ΠΎΠΊ.

2.3 ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

ΠšΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ ΠΈ ΠΏΠΎΡΡ‹Π»Π°Π΅Ρ‚ сСрвСру сообщСниС Π²ΠΈΠ΄Π° «@Имя_ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°». ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ² Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° сообщСниС, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ сообщСниС ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€Π΅Π΄ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΎΡ‚ ΡΠ΅Ρ€Π²Π΅Ρ€Π°, Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€ посылаСтся сообщСниС Π²ΠΈΠ΄Π° «#Имя_ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°», ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ сообщСниС ΠΎΠ± ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ПослС Π²Π²ΠΎΠ΄Π° отправляСмого сообщСния ΠΈ Π½Π°ΠΆΠ°Ρ‚ия ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ» сообщСниС пСрСдаСтся Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€, послС Ρ‡Π΅Π³ΠΎ возвращаСтся ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся Π² ΠΎΠΊΠ½Π΅ Ρ‡Π°Ρ‚Π°. Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… класса. Один ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΡ€ΠΈΡ‘ΠΌ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ сообщСний, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π·Π° ΠΈΠ½Ρ‚СрфСйс ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ сообщСний.

Класс NetClientThread. Π—Π΄Π΅ΡΡŒ создаётся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Socket, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся s ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ся Π΅ΠΌΡƒ ΠΏΠΎΡ€Ρ‚ ΠΈ IP для чтСния (127.0.0.1, 8030) ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ отправлятся Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ NetClientThread:

— getInputStream () — ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с ΡΠ΅Ρ€Π²Π΅Ρ€Π°;

— getOutputStream () — отправляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€;

— start () — запускаСт ΠΏΠΎΡ‚ΠΎΠΊΠΈ;

— send () — отправляСт сообщСния Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€;

— flush () — освобоТдаСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ° (Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ пустым);

— readLine () — считываСт строку Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ сообщСния.

Класс FieldWindow. Π—Π΄Π΅ΡΡŒ создаётся графичСский интСрфСйс для нашСго Ρ‡Π°Ρ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ° для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€ ΠΈ Π² ΠΎΠΊΠ½ΠΎ Ρ‡Π°Ρ‚Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ»Π°ΡΡΠ΅ FieldWindow:

— setLayout () — выполняСтся установка ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΎΠ²ΠΊΠΈ FlowLayout. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ FlowLayout ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ простого Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ располагаСтся вслСд Π·Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ ΠΈ ΡΠ²Π΅Ρ€Ρ…Ρƒ Π²Π½ΠΈΠ·, ΠΏΡ€ΠΈ этом выполняСтся Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ;

— setBackground () — для настройки Π·Π°Π»ΠΈΠ²ΠΊΠΈ Ρ„ΠΎΠ½Π°;

— setFont () — для установки настроСк ΡˆΡ€ΠΈΡ„Ρ‚Π°;

— setPreferredSize () — для настройки Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠ½ΠΎΠΏΠΊΠΈ;

— setForeground () — для настройки Ρ†Π²Π΅Ρ‚Π° Π±ΠΎΡ€Π΄Π΅Ρ€Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ;

— add () — Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²ΠΎ Ρ„рэйм;

— addActionListener () — Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Ρ actionPerformed () для выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ;

— setSize () — для настройки Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² фрэйма;

— setLocation () — для настройки полоТСния;

— setResizable () — для установки возмоТности измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° фрэйма ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ;

— setVisible () — для настроСк видимости ΠΎΠΊΠ½Π° фрэйма;

— setDefaultCloseOperation () — для закрытия ΠΎΠΊΠ½Π° Π½Π° ΠΊΡ€Π΅ΡΡ‚ΠΈΠΊ;

— start () — для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ошибок соСдинСния с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ ΠΈ ΠΏΡƒΡΡ‚ΠΎΡ‚Ρ‹ сообщСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСний Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€ ΠΈ Π½Π° ΡΠΊΡ€Π°Π½ Ρ‡Π°Ρ‚Π°.

— Thread. sleep (10) — Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ второстСпСнный ΠΏΠΎΡ‚ΠΎΠΊ спит 10 миллисСкунд (мСньшС Ρ‡Π΅ΠΌ Π³Π»Π°Π²Π½Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ).

Класс Socket (s) — этот класс Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ клиСнтскиС сокСты. Π‘ΠΎΠΊΠ΅Ρ‚ являСтся ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя машинами.

Класс TextField (str) прСдставляСт собой Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ однострочной области для Π²Π²ΠΎΠ΄Π° тСкста. Π’ Ρ‡Π°Ρ‚Π΅ слуТит ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ для Π²Π²ΠΎΠ΄Π° сообщСния.

Класса TextArea (chat) создаёт многострочноС ΠΏΠΎΠ»Π΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ Π²Ρ‹ΡΠΎΡ‚Ρ‹, снабТСнноС полосами просмотра.

Класс Font (font) создаёт настройки ΡˆΡ€ΠΈΡ„Ρ‚Π° сообщСний Π² ΠΎΠΊΠ½Π΅ Ρ‡Π°Ρ‚Π°.

Класс Button (). Кнопка Π² Ρ‡Π°Ρ‚Π΅ слуТит для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния собСсСднику ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ‡Π°Ρ‚Π°.

Класс JFrame (wind1) использован для создания фрэйма.

Класс Color () использован для создания Ρ†Π²Π΅Ρ‚Π°.

Класс InputStreamReader использован для дСкодирования входящих Π±Π°ΠΉΡ‚ΠΎΠ² Π² ΡΠΈΠΌΠ²ΠΎΠ»Ρ‹.

Класс BufferedReader Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ тСкст ΠΎΡ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, буфСризируя символы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ эффСктивноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ символов, массивов ΠΈ ΡΡ‚Ρ€ΠΎΠΊ.

3. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

3.1 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ сСрвСра

ЗапускаСм сСрвСр ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π”Π²ΠΎΠΉΠ½Ρ‹ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° Ρ„Π°ΠΉΠ» «Server.jar» ΠΈΠ»ΠΈ ΠΈΠ· ΡΡ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Run». ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΡΡ‚ановлСния соСдинСния, сСрвСр Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚ 8030, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Π·Π°Π΄Π°Π½ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ сСрвСр являСтся рСтранслятором сообщСний ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ся Π² ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

3.2 ОписаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

ЗапускаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠšΠ»ΠΈΠ΅Π½Ρ‚Π°. Π”Π²ΠΎΠΉΠ½Ρ‹ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° Ρ„Π°ΠΉΠ» «Client.jar» ΠΈΠ»ΠΈ ΠΈΠ· ΡΡ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Eclipse Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Run». ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΡƒΡΡ‚ановлСния соСдинСния, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° становится Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° запускаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ, Π·Π°ΠΏΡƒΡ‰Π΅Π½ сСрвСр.

Рисунок 4 — Окно ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅Ρ‚ нСобходимости ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΡ€Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡƒΠΆΠ΅ Π±Ρ‹Π» Π·Π°Π΄Π°Π½ ΠΏΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Для Π½Π°Ρ‡Π°Π»Π° общСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ввСсти ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ сообщСниС Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ слСва ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ» (рисунок 5). ПослС Π²Π²ΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ сообщСния Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ». ПослС ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния ΠΎΠ½ΠΎ отобразится Π² Π±Π»ΠΎΠΊΠ΅ Ρ‡Π°Ρ‚Π° (рисунок 6).

ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ достаточно просто Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Ρ‘, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° Π₯ (крСстик Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ) ΠΈΠ»ΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Ρ‹Ρ…ΠΎΠ΄». Кнопка «Π’Ρ‹Ρ…ΠΎΠ΄» располоТСна ΠΏΠΎΠ΄ строкой Π²Π²ΠΎΠ΄Π° сообщСния.

3.3 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π°Ρ‚Π°

Рисунок 5 — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π°Ρ‚Π°

Рисунок 6 — ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π°Ρ‚Π°

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ. ОбмСн сообщСниями ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. БообщСния Π² Ρ‡Π°Ρ‚Π΅ выводятся ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Π³ΠΎ написал.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ всС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π΄ΠΎΡΡ‚ΠΈΠ³Π½ΡƒΡ‚Π° Ρ†Π΅Π»ΡŒ. ЦСлью Π΄Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сСтСвоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Java «Π§Π°Ρ‚» .

Π§Π°Ρ‚ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ срСды Eclipse.

ИспользованиС срСдств Eclipse ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах ΠΈ Π² Ρ‡Π°ΡΡ‚ности сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‡Π°Ρ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Сля.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Π°Ρ вСрсия прилоТСния являСтся Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ. Однако ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π°, для Ρ‡Π΅Π³ΠΎ понадобятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ срСдства, Π° Ρ‚Π°ΠΊΠΆΠ΅ врСмя, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒΡΡ всС Π½Π΅Π΄ΠΎΡ‡Π΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ пропустил ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Π» Π½ΡƒΠΆΠ½Ρ‹ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ рассчитан для ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ сообщСниями.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс, являСтся ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈ Π΄ΠΎΡΡ‚Π°Ρ‚ΠΎΡ‡Π½ΠΎ проста Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.

Cписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. https://www.java.com/ru/about/04.05.2014

2. http://www.sources.ru/java/faq/ide.htm04.05.2014

3. http://www.java-study.ru/java-uchebnik/2-vvedenie04.05.2014

4. http://window.edu.ru/resource/397/58 397/files/Eclipse_Java.pdf

5. ΠœΠ°ΠΊΠ΅ΠΉΡ‡ΠΈΠΊ, Π•. Π“. Π›Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΌ: ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² Ρ‚Π΅Π»Π΅ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΉ / Π•. Π“. ΠœΠ°ΠΊΠ΅ΠΉΡ‡ΠΈΠΊ. — ΠœΠΈΠ½ΡΠΊ.: 2013. — 76 с.

6. Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚ — ΠŸΠΎΠ»Π½Ρ‹ΠΉ справочник ΠΏΠΎ Java SE6.

7. http://java-study.ru/java-uchebnik/2-vvedenie

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

Π‘Π΅Ρ€Π²Π΅Ρ€

package pak_chat;

import java.net.*;

import java.io.*;

class Incoming extends Thread

{

Socket sock;

// Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ тСкст ΠΎΡ‚ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π²Π²ΠΎΠ΄Π° символов, буфСрСзируя ΠΈΡ…

BufferedReader in = null;

String soobsh = null;

Incoming (Socket s) // Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ

{

sock = s;

try

{

// Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΡƒΡŽ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

InputStreamReader isr = new InputStreamReader (sock.getInputStream ());

//Заносим ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π±ΡƒΡ„Π΅Ρ€

in = new BufferedReader (isr);

} catch (IOException e) {

System.out.println («ΠΎΡˆΠΈΠ±ΠΊΠ°: «+ e);}

}

public void run () // Π’ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° созданного ΠΏΠΎΡ‚ΠΎΠΊΠ°

{

while (true)

{

try

{

// ВыполняСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ строки символов ΠΈΠ·

// Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅

// строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заносятся Π² Π±ΡƒΡ„Π΅Ρ€

soobsh= in. readLine ();

if (soobsh≠null)

{

NetServerThread.Message = soobsh;

soobsh=null;

}

} catch (IOException e) {

break;}

}

}

}

public class NetServerThread extends Thread

{

String lastm;

Socket socket;

int i=0;

// класс для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π° Π²Ρ‹Π²ΠΎΠ΄Π°

PrintStream ps;

public static String Message=null;

public NetServerThread (Socket s)

{

lastm=null;

socket = s;

try

{

//класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ занимаСтся

//Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

ps = new PrintStream (s.getOutputStream ());

} catch (IOException e) {

System.out.println («ΠΎΡˆΠΈΠ±ΠΊΠ°: «+ e);}

}

public static void main (String[] args)

{

try {

//Ρ‡ΠΈΡ‚Π°Π΅ΠΌ ΠΏΠΎΡ€Ρ‚ 8030

ServerSocket server = new ServerSocket (8030);

while (true)

{

Socket s = null;

//Π–Π΄Ρ‘ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

s = server. accept ();

NetServerThread nst = new NetServerThread (s);

Incoming incom = new Incoming (s);

//ЗапускаСм ΠΏΠΎΡ‚ΠΎΠΊΠΈ

nst.start ();

incom.start ();

}

} catch (IOException e) {

System.out.println («ΠΎΡˆΠΈΠ±ΠΊΠ°: «+ e);

}

}

public void run ()

{

while (true)

{

if ((Message≠null)&&(lastm≠Message))

{

lastm=Message;

//отправляСм сообщСниС Π½Π° ΡΠΊΡ€Π°Π½ прилоТСния

send (lastm);

}

try

{

//ΠΏΠΎΡ‚ΠΎΠΊ спит 100 миллисСкунд

Thread.sleep (100);

} catch (InterruptedException e) {

System.out.println («ΠΎΡˆΠΈΠ±ΠΊΠ°: «+ e);

}

}

}

public void send (String msg)

{

ps.println (msg);

//очистили Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса ps

ps.flush ();

}

}

ΠšΠ»ΠΈΠ΅Π½Ρ‚

package pak_chat;

import java.net.*;

import java.io.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

//Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ стандартноС ΠΎΠΊΠ½ΠΎ. ΠžΡ€Π³Π°Π½ΠΈΠ·ΡƒΠ΅ΠΌ ΡΠ»ΡƒΡˆΠ°Ρ‚Π΅Π»Ρ

class FieldWindow extends JFrame implements ActionListener

{

private static final long serialVersionUID = 1L;

static TextArea chat = new TextArea (««, 25,65,TextArea.SCROLLBARS_VERTICAL_ONLY);

TextField str = new TextField (53);

Font font = new Font («Dialog», Font. BOLD, 12);

Button send = new Button («ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ»);

Button ext = new Button («Π’Ρ‹Ρ…ΠΎΠ΄»);

static String command = «» ;

static String incopy = null;

static String mess = null;

static String name = «Kurill=)))» ;

JFrame wind1 = new JFrame («Facebook»);

static int len, i=0,u=0;

Color lightskyblue = new Color (135, 206, 250);

Color lightsteelblue = new Color (176, 196, 222);

Color linen = new Color (250, 240, 230);

Color lightcyan = new Color (224, 255, 255);

FieldWindow ()

{

wind1.setLayout (new FlowLayout ());

chat.setBackground (lightcyan);

chat.setFont (font);

str.setBackground (lightcyan);

ext.setPreferredSize (new Dimension (476,20));

ext.setBackground (lightsteelblue);

ext.setForeground (linen);

send.setBackground (lightsteelblue);

send.setForeground (linen);

wind1.add (chat);

wind1.add (str);

wind1.add (send);

ext.addActionListener (this);

send.addActionListener (this);

wind1.add (ext);

wind1.setSize (500,500);

wind1.setLocation (120,60);

wind1.setResizable (false);

wind1.setVisible (true);

wind1.getContentPane ().setBackground (lightskyblue);

wind1.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);

}

public void start ()

{

if (NetClientThread.Errors ≠ null)

{

chat.append (NetClientThread.Errors);

NetClientThread.Errors=null;

}

while (true)

{

if ((NetClientThread.Message≠null)&&(NetClientThread.Message≠""))

{

incopy=NetClientThread.Message;

NetClientThread.Message=null;

switch (incopy.charAt (0))

{

case '@':

len=incopy.length ()-1;

for (i=1;i<=len;i++)

{

command=command+incopy.charAt (i);

}

i=1;

chat.append («Π’ Ρ‡Π°Ρ‚ вошСл ΠΏΠΎΠ»ΡŒΠ·Π°Π²Π°Ρ‚Π΅Π»ΡŒ: „+command+“ n»);

incopy=null;

command="" ;

break;

case '#':

len=incopy.length ()-1;

for (i=1;i<=len;i++)

{

command=command+incopy.charAt (i);

}

i=1;

chat.append («Π˜Π· Ρ‡Π°Ρ‚Π° Π²Ρ‹ΡˆΠ΅Π» ΠΏΠΎΠ»ΡŒΠ·Π°Π²Π°Ρ‚Π΅Π»ΡŒ: „+command+“ n»);

incopy=null;

command="" ;

break;

default:

chat.append (incopy);

chat.append («n»);

}

}

try

{

//ΠŸΠΎΡ‚ΠΎΠΊ спит 10 миллисСкунд

Thread.sleep (10);

} catch (InterruptedException e) {

e.printStackTrace ();

}

}

}

//ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° события ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊΠΈ

public void actionPerformed (ActionEvent e)

{

if (e.getSource ()==ext)

{

NetClientThread.send («#» +name);

NetClientThread.out.close ();

try

{

NetClientThread.in.close ();

} catch (IOException e2) {

e2.printStackTrace ();}

try

{

NetClientThread.s.close ();

} catch (IOException e1) {

e1.printStackTrace ();

}

System.exit (0);

}

if (e.getSource ()==send)

{

mess=str.getText ();

NetClientThread.send (mess);

str.setText (««);

}

}

}

public class NetClientThread extends Thread

{

static String Errors=null;

static String Message=null;

static BufferedReader in = null;

// Класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ занимаСтся Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

static PrintWriter out;

static Socket s = null;

static String msg =null;

public NetClientThread ()

{

try

{

//ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡΡ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ

s = new Socket («127.0.0.1», 8030);

// Π‘Ρ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΡƒΡŽ с ΡΠ΅Ρ€Π²Π΅Ρ€Π°

InputStreamReader isr = new InputStreamReader (s.getInputStream ());

// Заносим ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π±ΡƒΡ„Π΅Ρ€

in = new BufferedReader (isr);

// отправляСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€

out=new PrintWriter (s.getOutputStream (), true);

} catch (IOException e) {

Errors="Ошибка соСдинСния" ;

}

}

public static void main (String[] args)

{

NetClientThread nct = new NetClientThread ();

//запускаСм ΠΏΠΎΡ‚ΠΎΠΊΠΈ

nct.start ();

FieldWindow newwindow=new FieldWindow ();

newwindow.start ();

}

public void run ()

{

send («@» +FieldWindow.name);

while (true)

{

try

{

Message = in. readLine ();

} catch (IOException e) {

break;

}

}

FieldWindow.chat.append («ΠžΡˆΠΈΠ±ΠΊΠ° соСдинСния с ΡΠ΅Ρ€Π²Π΅Ρ€ΠΎΠΌ»);

}

public static void send (String msg)

{

out.println (msg);

out.flush ();

}

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ