Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java

28. Java – ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹

Π’ Java ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (package) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдотвращСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² с названиями, для контроля доступа, для облСгчСния поиска/нахоТдСния ΠΈ использования классов, интСрфСйсов, пСрСчислСний ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ ΠΈ Ρ‚.Π΄.

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ связанных Ρ‚ΠΈΠΏΠΎΠ² (классы, интСрфСйсы, пСрСчислСния ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ), ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρƒ доступа ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пространством ΠΈΠΌΡ‘Π½.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

НСкоторыС ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Java:

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для связывания Π³Ρ€ΡƒΠΏΠΏ классов/интСрфСйсов ΠΈ Ρ‚.Π΄. Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° связанных классов, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²Π°ΠΌΠΈ, являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ практичСским Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, Ρ‚.ΠΊ. программист смоТСт Π»Π΅Π³ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ классы, интСрфСйсы, пСрСчислСния ΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ связаны.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ создаёт Π½ΠΎΠ²ΠΎΠ΅ пространство ΠΈΠΌΡ‘Π½, Π² Π½Ρ‘ΠΌ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°ΠΊΡ‚Π°Ρ…. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π»Π΅Π³Ρ‡Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ доступом ΠΈ Π»Π΅Π³Ρ‡Π΅ Π½Π°ΠΉΡ‚ΠΈ связанныС классы.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°

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

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ package Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкой Π² исходном Ρ„Π°ΠΉΠ»Π΅. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ запрос package Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ исходном Ρ„Π°ΠΉΠ»Π΅, ΠΈ ΠΎΠ½ примСняСтся ΠΊΠΎ всСм Ρ‚ΠΈΠΏΠ°ΠΌ Π² этом Ρ„Π°ΠΉΠ»Π΅.

Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ package Π½Π΅ использован, Ρ‚ΠΎΠ³Π΄Π° классы, интСрфСйсы, пСрСчислСния ΠΈ Ρ‚ΠΈΠΏΡ‹ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ package, Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ –d, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

Π—Π°Ρ‚Π΅ΠΌ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ мСстС назначСния создаСтся ΠΏΠ°ΠΏΠΊΠ° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π° Ρ„Π°ΠΉΠ»Ρ‹ скомпилированных классов Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² эту ΠΏΠ°ΠΏΠΊΡƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1

Π”Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ создаёт ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ animals. ПолСзно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с малСнькой Π±ΡƒΠΊΠ²Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ классов ΠΈ интСрфСйсов.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° содСрТится интСрфСйс с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ animals.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ интСрфСйс Π² этом ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ animals:

А сСйчас скомпилируСм java-Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚/ΠΏΠ°ΠΏΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ animals Π±ΡƒΠ΄Π΅Ρ‚ создана Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ классов Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² Π½Π΅Ρ‘.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» класса Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово import

Если класс Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ класс Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ΠšΠ»Π°ΡΡΡ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π° Π±Π΅Π· особого синтаксиса.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2

Π˜Ρ‚Π°ΠΊ, класс ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Boss Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ payroll, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ содСрТит Employee. Boss ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ классу Employee Π±Π΅Π· использования прСфикса payroll, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ классС Boss.

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Ρ‘Ρ‚, Ссли класс Employee Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ payroll? Π’ΠΎΠ³Π΄Π° класс Boss Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΈΠΊ для обращСния ΠΊ классу Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π€Π°ΠΉΠ» класса ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любоС количСство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° (import). ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° (import) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ послС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° (package) ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ объявлСниСм класса.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΡΡ‚ Π΄Π²Π° явлСния, ΠΊΠΎΠ³Π΄Π° класс ΠΏΠΎΠΌΠ΅Ρ‰Ρ‘Π½ Π² ΠΏΠ°ΠΊΠ΅Ρ‚:

Π•ΡΡ‚ΡŒ Π»Ρ‘Π³ΠΊΠΈΠΉ способ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с вашими Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Java:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ помСститС исходный Ρ„Π°ΠΉΠ» Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ класс:

ΠŸΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ имя класса ΠΈ ΠΏΡƒΡ‚ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, компания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ своё ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ для своих ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Java.

НапримСр: Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ называСтся apple.com, Ρ‚ΠΎΠ³Π΄Π° всС ΠΈΠΌΠ΅Π½Π° ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с com.apple. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° соотвСтствуСт ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

НапримСр: Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ com.apple.computers, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится исходный Ρ„Π°ΠΉΠ» Dell.java, Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ содСрТится Π² сСрии ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ здСсь:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ скомпилируйтС это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ –d:

Π€Π°ΠΉΠ»Ρ‹ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС классы ΠΈ интСрфСйсы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ Π² \com\apple\computers\ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

ДСлая Ρ‚Π°ΠΊ, становится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ доступ ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ классов Π΄Ρ€ΡƒΠ³ΠΈΠΌ программистам, Π½Π΅ раскрывая ваши источники. Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ классов ΠΈ источников Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ компилятор ΠΈ Java Virtual Machine (JVM) ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΠΉΡ‚ΠΈ всС Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ классов

ΠŸΡƒΡ‚ΡŒ класса ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ нСсколько ΠΏΡƒΡ‚Π΅ΠΉ. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡƒΡ‚Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой (Windows) ΠΈΠ»ΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ (Unix). По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ компилятор ΠΈ JVM ΠΈΡ‰ΡƒΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΈ JAR-Ρ„Π°ΠΉΠ», содСрТащий классы ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π±Ρ‹Π»ΠΈ автоматичСски Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² ΠΏΡƒΡ‚ΡŒ класса.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ CLASSPATH

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ CLASSPATH ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Windows ΠΈ UNIX (Bourne shell):

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ содСрТимоС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ CLASSPATH, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ CLASSPATH:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Руководство ΠΏΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ Java

Π£Π·Π½Π°ΠΉΡ‚Π΅ большС ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… Π½Π° Java

1. Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ этом ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌ руководствС ΠΌΡ‹ рассмотрим основы Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π½Π° Java. ΠœΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π² Π½ΠΈΡ….

ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ обсудим соглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… ΠΈ Ρ‚ΠΎ, ΠΊΠ°ΠΊ это связано с Π±Π°Π·ΠΎΠ²ΠΎΠΉ структурой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

НаконСц, ΠΌΡ‹ скомпилируСм ΠΈ запустим наши ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ классы Java.

2. ΠžΠ±Π·ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Java

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ прСимущСствами этого ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

Π”Π°Π»Π΅Π΅ Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Java-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°

Π”Π°Π²Π°ΠΉΡ‚Π΅ помСстим Ρ‚ΠΈΠΏ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ com.baeldung.packages :

ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π² ΠΏΠ°ΠΊΠ΅Ρ‚. Если ΠΌΡ‹ опрСдСляСм Ρ‚ΠΈΠΏΡ‹ ΠΈ Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΈΡ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² default ΠΈΠ»ΠΈ бСзымянный ΠΏΠ°ΠΊΠ΅Ρ‚. ИспользованиС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько нСдостатков:

3.1. БоглашСния об имСновании

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΌΡ‹ слСдуСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ соглашСниям ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° основС ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ с рСвСрсирования URL-адрСса ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ПослС этого соглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ опрСдСляСтся ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ названия ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΈ названия ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ этого Ρ‚ΠΈΠΏΠ°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ com.baeldung.packages ΠΈΠ»ΠΈ com.baeldung.packages.domain.

3.2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² Java ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ структурС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ΄Π΅ΠΉ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ эту структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π½Π° основС Π½Π°ΡˆΠΈΡ… ΠΈΠΌΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², поэтому Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

4. ИспользованиС Π§Π»Π΅Π½ΠΎΠ² ΠŸΠ°ΠΊΠ΅Ρ‚Π°

НачнСм с опрСдСлСния класса TodoItem Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ domain :

4.1. Π˜ΠΌΠΏΠΎΡ€Ρ‚

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наш класс TodoItem ΠΈΠ· класса Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, ΠΌΡ‹ смоТСм ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΌΡƒ доступ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΡƒ для ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° всСх Ρ‚ΠΈΠΏΠΎΠ² Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ вСсь Π΄ΠΎΠΌΠ΅Π½ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ класс TodoItem :

JDK ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Java Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ со своими собствСнными ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² нашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

НапримСр, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Java core List interface ΠΈ ArrayList class:

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Ρ‚ΠΈΠΏΡ‹ Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… имя:

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ использовали наши Π½ΠΎΠ²Ρ‹Π΅ классы вмСстС с классами ядра Java, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ List of TodoItems.

4.2. ПолноС НаимСнованиС

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ To do Item с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ:

5. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ javac

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ с открытия ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π² наш исходный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ скомпилируСм наш com.baeldung.packages.domain.TodoItem класс:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° наш класс TodoItem скомпилирован, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ наши классы ToDoList ΠΈ TodoApp :

Π”Π°Π²Π°ΠΉΡ‚Π΅ запустим нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя нашСго класса TodoApp :

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Java – Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ использованиС

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Java – это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π² ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Β«Π³Ρ€ΡƒΠΏΠΏΡƒΒ» (ΠΏΠ°ΠΊΠ΅Ρ‚). Когда ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ становится большС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ API, ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° нСсколько классов, Π° классы – Π½Π° нСсколько ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ΠΎΠ³Π΄Π° становится Π»Π΅Π³Ρ‡Π΅ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, Π³Π΄Π΅ находится ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅.

ΠŸΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС. На самом Π΄Π΅Π»Π΅ Π½Π° дискС ΠΎΠ½ являСтся ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ. ВсС исходныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ классов, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ, находятся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

ΠœΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ структуру ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ Π½Π° структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Π­Ρ‚ΠΎ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ классов Π²Π½ΡƒΡ‚Ρ€ΠΈ этих классов. ΠžΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π½Π° вашСм ТСстком дискС ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ zip-Ρ„Π°ΠΉΠ»Π° (JAR-Ρ„Π°ΠΉΠ»Ρ‹).

Π’ΠΎΡ‚ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° структуры:

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java

Π’Π²Π΅Ρ€Ρ…Ρƒ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с ΠΈΠΌΠ΅Π½Π΅ΠΌ β€œsrc”. Π­Ρ‚ΠΎ исходный ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π­Ρ‚ΠΎ Π½Π΅ сам ΠΏΠ°ΠΊΠ΅Ρ‚. Π’Π½ΡƒΡ‚Ρ€ΠΈ этого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° всС ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Β«ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈΒ», Β«comΒ», Β«ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΒ» ΠΈ Ρ‚. Π΄. – это всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π½Π° дискС). На снимкС экрана Π²Ρ‹ΡˆΠ΅ ΠΎΠ½ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π·Π½Π°Ρ‡ΠΊΠΎΠΌ ΠΏΠ°ΠΏΠΊΠΈ.

Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΎ Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° подуровня, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ классы Π²Π½ΡƒΡ‚Ρ€ΠΈ. ΠšΠ»Π°ΡΡΡ‹ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ малСнького синСго ΠΊΡ€ΡƒΠ³Π° с Π±ΡƒΠΊΠ²ΠΎΠΉ C Π²Π½ΡƒΡ‚Ρ€ΠΈ, Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π²Ρ‹ΡˆΠ΅.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ – это Π΅Π³ΠΎ имя со всСми ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²-ΠΏΡ€Π΅Π΄ΠΊΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ. НапримСр, ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Β«Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌΡƒΒ» ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ:

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя класса Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ имя Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. НапримСр, ΠΏΠΎΠ»Π½ΠΎΠ΅ имя класса Β«PageΒ»:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ структуры

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ сначала ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° вашСм ТСстком дискС. Он сам ΠΏΠΎ сСбС Π½Π΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ структуры ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ всС исходныС ΠΊΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΎΠΉΡ‚ΠΈ Π² структуру.

Π‘ΠΎΠ·Π΄Π°Π² исходный ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ соотвСтствуСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π² ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ структуру.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ классов

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ классы, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ:

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ довольно прост. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ источника ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ создайтС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Π° рСкурсивно. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ классов Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Когда Π²Ρ‹ помСстили свой исходный Ρ„Π°ΠΉΠ» Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ класс), Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ этого Ρ„Π°ΠΉΠ»Π° класса, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ этому ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ:

ΠŸΠ΅Ρ€Π²Π°Ρ строка Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ класс Page ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΌ ΠΊ com.blog.navigation.

БоглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ всСгда ΠΏΠΈΡˆΡƒΡ‚ΡΡ строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ классов, Π³Π΄Π΅ пСрвая Π±ΡƒΠΊΠ²Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ создания ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… общСдоступных, рСкомСндуСтся Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ с ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. НапримСр, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ – blog.com, Π½Π°Π΄ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ со структуры с ΠΈΠΌΠ΅Π½Π΅ΠΌ com.blog. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠ°ΠΊΠ΅Ρ‚ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня с ΠΈΠΌΠ΅Π½Π΅ΠΌ com с ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ называСтся blog.

Π˜ΠΌΠΏΠΎΡ€Ρ‚

Если класс A Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс B, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π½Π° класс B Π²Π½ΡƒΡ‚Ρ€ΠΈ класса A. Если классы A ΠΈ B находятся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, компилятор Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ссылки ΠΌΠ΅ΠΆΠ΄Ρƒ двумя классами:

Если классы A ΠΈ B находятся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΊΠΎΠ΄ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Π½Π΅Ρ‚. Однако, Ссли класс A ΠΈ B находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ…, класс A Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ класс B, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ:

Π­Ρ‚ΠΎ пСрвая строка Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, которая ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ класс B. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ прСдполагаСтся, Ρ‡Ρ‚ΠΎ класс B находится Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ anotherpackage.

Если Π±Ρ‹ класс B находился Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΊ классу B. НапримСр, Ссли Π±Ρ‹ класс B находился Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ anotherpackage.util, Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ import выглядСл Π±Ρ‹ Ρ‚Π°ΠΊ:

Π˜ΠΌΠΏΠΎΡ€Ρ‚ всСх классов ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ классов ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΈΡ… ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. МоТно ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС классы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ символ * вмСсто ΠΈΠΌΠ΅Π½ΠΈ класса:

ИспользованиС классов Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ имя

МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ класс ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π½Π΅ импортируя Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя Π΅Π³ΠΎ, Π° Π½Π΅ просто имя самого класса. ПолноС имя класса состоит ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄ΠΎ подкласса, содСрТащСго класс, Π° Ρ‚Π°ΠΊΠΆΠ΅ самого ΠΈΠΌΠ΅Π½ΠΈ класса. ПолноС имя класса – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ написали Π±Ρ‹ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°. НапримСр:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это ΠΏΠΎΠ»Π½ΠΎΠ΅ имя класса для ссылки Π½Π° класс TimeUtil Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊ:

ΠŸΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ стандарта для этого Π½Π΅Ρ‚, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° слои

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ классы послС опрСдСлСния, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ «слою» прилоТСния ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚. НапримСр, вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ слой Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ΠΎΠ³Π΄Π° Π²Ρ‹ создадитС ΠΏΠ°ΠΊΠ΅Ρ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ВсС классы, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π±ΡƒΠ΄ΡƒΡ‚ располоТСны Π² Π½Π΅ΠΌ.

Π Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ – Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ваши классы Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΉ части Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, которая рассчитываСт пСнсии, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ pension. ВсС классы, Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² пСнсионных расчСтах, Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² Π½Π΅Π³ΠΎ (ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ссли число классов Π² пСнсии станСт большим).

Π’ сочСтании с Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ структура для пСнсионного ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚:

ВсСго Ρ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π΄Π²Π° Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ «дСлСния ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния» ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ Β«Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ слоям», ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ растСт число классов.

ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ фиксированноС количСство ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² слоСв, число ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ расти, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ растущСС число ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния с мСньшим количСством классов Π²Π½ΡƒΡ‚Ρ€ΠΈ.

ВстроСнныС

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° поставляСтся с мноТСством встроСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Они содСрТат классы для самых Ρ€Π°Π·Π½Ρ‹Ρ… Ρ†Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Π½ΡƒΠΆΠ½Ρ‹ программистам, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Ρ„Π°ΠΉΠ»ΠΎΠ² с локального ТСсткого диска, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСтям ΠΈ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ (packages)

β€” ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Амиго! БСгодня я расскаТу Ρ‚Π΅Π±Π΅ ΠΏΡ€ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹.

β€” Π€Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ°ΠΌ. ΠšΠ»Π°ΡΡΡ‹ Π² Java (Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс Π»Π΅ΠΆΠΈΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅) Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ Π½Π° дискС. НичСго ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ. Но Π΅ΡΡ‚ΡŒ Π΄Π²Π° замСчания

β€” ΠŸΠ΅Ρ€Π²ΠΎΠ΅. Β«ΠŸΠΎΠ»Π½Ρ‹ΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ класса» являСтся «имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°Β» + «имя класса». ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

ПолноС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ имяИмя ΠΏΠ°ΠΊΠ΅Ρ‚Π°Π˜ΠΌΡ класса
java.io.FileInputStreamjava.ioFileInputStream
java.lang.Stringjava.langString
java.util.ArrayListjava.utilArrayList
org.apache.tomcat.Servletorg.apache.tomcatServlet
CatотсутствуСтCat

β€” ПолноС имя класса всСгда ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ!

β€” ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ имя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ java.util.ArrayList, ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Java Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Β«ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ классы». Π’ своСм ΠΊΠΎΠ΄Π΅ Ρ‚Ρ‹ моТСшь ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов, Π½ΠΎ Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π°Ρ‡Π°Π»Π΅ своСго класса явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ класс Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

β€” ДСлаСтся это конструкциСй Π²ΠΈΠ΄Π° Β« import java.util.ArrayList; Β»

β€” Π’ Π½Π°Ρ‡Π°Π»Π΅ класса, сразу послС объявлСния package, Ρ‚Ρ‹ моТСшь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ класс скрываСтся Π·Π° ArrayList, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΡˆΡŒ Ρƒ сСбя Π² ΠΊΠΎΠ΄Π΅.

β€” Π—Π°Ρ‡Π΅ΠΌ такая ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ? Π§Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ классы с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ?

β€” Π’ΠΎΡ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° аналогия. Π£ тСбя Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π΅ Π΅ΡΡ‚ΡŒ Π‘Π΅Ρ€Π΅Π³Π° ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΌ – всС Π·Π½Π°ΡŽΡ‚ ΠΊΡ‚ΠΎ это. Но Ссли Π±Ρ‹ ΠΈΡ… Π±Ρ‹Π»ΠΎ Ρ‚Ρ€ΠΎΠ΅, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°.

Π’ Java принято Π΄Π°Π²Π°Ρ‚ΡŒ классам ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌ осмыслСнныС ΠΈΠΌΠ΅Π½Π°. МногиС ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π²Ρ‹ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ свои Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°Π±ΠΎΡ€ классов) ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ этих классов ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ/сайта:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ 2. Π£Ρ€ΠΎΠΊ 4. ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² Java. β€” Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Java

Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java. Π€ΠΎΡ‚ΠΎ Для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹?

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

Как аналогию, ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с адрСсами.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ для класса

Для класса Π΅Π³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ β€” это Π΅Π³ΠΎ мСстополоТСниС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. Благодаря Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡŽ классов Π½Π° нСсколько ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” ΠΌΡ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Бильно забСгая Π²ΠΏΠ΅Ρ€Π΅Π΄ скаТу, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для красоты, Π½ΠΎ ΠΈ для ограничСния доступа ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ‡Π»Π΅Π½Π°ΠΌ класса. НапримСр:

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ класс Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°?

Рассмотрим этот процСсс поэтапно.

Π‘Π½Π°Ρ‡Π°Π»Π° пишСм имя любимого Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, ΠΏΠΎΡ‚ΠΎΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ имя Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ тСкстового Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° nano :

Или с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sublime:

Если ΠΊΠΎΠΌΠ°Π½Π΄Π° subl Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΈ Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ sublime установлСн β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды окруТСния, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ прописанного ΠΏΡƒΡ‚ΠΈ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ subl.

МоТно ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠ½ΠΎΡ‚ΠΎΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Π½ΡƒΠΆΠ½ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ сам Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для вас способом.

Π€Π°ΠΉΠ» создан. Но класса Π² Π½Π΅ΠΌ Π½Π΅Ρ‚. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ класс:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΈ Ρ„Π°ΠΉΠ» Π² Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, ΠΈ класс Π² Ρ„Π°ΠΉΠ»Π΅. Но сам класс Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΏΡ€ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Π½Π΅ΠΊΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ. Π˜ΡΠΏΡ€Π°Π²ΠΈΠΌ это:

НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»!

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ создания класса Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

ΠšΠΎΡ€Π΅Π½ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

А ΠΊΠ°ΠΊ ΠΆΠ΅ Π·Π°Π΄Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (ΠΏΠ°ΠΏΠΊΡƒ) ΠΊΠ°ΠΊ основу ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΆΠ΅ ΠΈ происходит Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ этих всСх ΠΏΠΎΠ΄-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (ΠΏΠΎΠ΄-ΠΏΠ°ΠΏΠΎΠΊ)? ΠŸΠΎΡ‡Π΅ΠΌΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°ΠΏΠΊΠ° io являСтся ΠΊΠΎΡ€Π½Π΅ΠΌ для классов ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° ΠΏΠ°ΠΏΠΊΠ° src β€” Π½Π΅ являСтся ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, Π΄Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ содСрТимого класса OneMoreClass.java :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ содСрТимого класса SomeView.java :

ИмСна ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

НапримСр, package com.MySuperLongPackageName.view β€” плохая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° имСнования ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ΄-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π”Π°ΠΆΠ΅ Ссли, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π² ΠΌΠΈΡ€Π΅, 100% Π±ΡƒΠ΄Π΅Ρ‚ класс Main.java β€” Ρ‚ΠΎ ΠΎΠ½ΠΈ маловСроятно пСрСсСкутся ΠΈ ΠΏΠΎΠΌΠ΅ΡˆΠ°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³-Π΄Ρ€ΡƒΠ³Ρƒ. Но Π΄Π°ΠΆΠ΅ Ссли пСрСсСкутся β€” это Ρ€Π΅ΡˆΠ°Π΅ΠΌΠΎ, рассмотрим это Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

АдрСса (ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹) классам, Π² нашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΌΡ‹ ΡƒΠΆΠ΅ Π²Ρ‹Π΄Π°Π»ΠΈ. Они Π½ΡƒΠΆΠ½Ρ‹ для доступа классов Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ.

Как ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ сказано Π²Ρ‹ΡˆΠ΅ β€” ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ с адрСсом. Рассмотрим это Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ вСтвлСния ΠΏΠ°ΠΏΠΎΠΊ(ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²).

Но прописываниС Ρ‚Π°ΠΊΠΈΡ… Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ ( io.hexlet.xo.view.SomeView ) β€” просто Π½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΊ Π½Π°ΠΌ Π½Π° Π²Ρ‹Ρ€ΡƒΡ‡ΠΊΡƒ, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π»ΡŽΠ±Ρ‹Ρ… классов ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° io.hexlet.xo.view :

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° строку System.out.println(«Some very important message!»); Π² классС SomeView :

БтатичСскоС ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Как ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ классы Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…

Как Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ классы Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…

ИмСнно с Π½Π΅Π³ΠΎ начинаСтся Ρ€Π°Π±ΠΎΡ‚Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… классах ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.

А для запуска «ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ» класса Π½Π° исполнСниС трСбуСтся ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылки:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *