Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Ѐилософия Java3Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 34

Автор Π‘Ρ€ΡŽΡ ЭккСль

Π€Π°ΠΉΠ» с исходным тСкстом Π½Π° Java часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ. Имя ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ модуля Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ суффиксом .java, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ (public) класс, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎ ΠΆΠ΅ имя, Ρ‡Ρ‚ΠΎ ΠΈ Ρ„Π°ΠΉΠ» (с Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡƒΠΊΠ²Ρ‹, Π½ΠΎ Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ .java). Π›ΡŽΠ±ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ класса, ΠΈΠ½Π°Ρ‡Π΅ компилятор сообщит ΠΎΠ± ошибкС. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ классы модуля, Ссли ΠΎΠ½ΠΈ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ, скрыты ΠΎΡ‚ ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΈΡ€Π° β€” ΠΎΠ½ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ (public) ΠΈ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Β«Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈΒ» ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ классу.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ компиляции для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ класса, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ .java, создаСтся класс с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌΠ“Π½ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .class. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ компиляции Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² .java ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Ρ†Π΅Π»Ρ‹ΠΉ ряд Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .class. Если Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ языкС, Ρ‚ΠΎ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ компилятор Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ OBJ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ для получСния исполняСмого Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Java Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ. Рабочая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΎΠ΄Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² .class, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ ΡΠΆΠΈΠΌΠ°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» JAR (ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ Java jar). Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Java ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° поиск, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ1 этих Ρ„Π°ΠΉΠ»ΠΎΠ².

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ являСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² с классами. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ имССтся ΠΎΠ΄ΠΈΠ½ public-класс с Π»ΡŽΠ±Ρ‹ΠΌ количСством классов, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… спСцификатора public. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ (хранящиСся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… .java ΠΈ .class) связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом package.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° package Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½Π΅Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ строкС Ρ„Π°ΠΉΠ»Π°. Π’Π°ΠΊ, ΠΊΠΎΠΌΠ°Π½Π΄Π°.

package access;

ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ access. Π˜Π½Π°Ρ‡Π΅ говоря, Π²Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ класс Π² этом ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΈΠΌΠ΅Π½ΠΈ mypackage ΠΈ, Ссли ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Π΅ΠΌΡƒ придСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ имя класса, ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ import с access (конструкция, указанная Π²Ρ‹ΡˆΠ΅). Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ Java ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ„Π°ΠΉΠ» называСтся MyClass.java. Он ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ класс (public), ΠΏΡ€ΠΈΡ‡Π΅ΠΌ послСдний Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ MyClass (с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра символов):

//: access/mypackage/MyClass java

package access.mypackage;

public class MyClass { 11 ...

} ///.-

Если Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π·Π°Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ MyClass ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ классы ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° access, Π΅ΠΌΡƒ придСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово import, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Π½Π° ΠΈΠ· access стали доступными. Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя класса:

//: access/QualifiedMyClass java

public class QualifiedMyClass {

public static void main(String[] args) { access mypackage.MyClass m =

new access mypackage.MyClass();

}

} ///:-

Π‘ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом import Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ выглядит Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Π΅Π΅:

II: access/ImportedMyClass.java

import access.mypackage.*:

public class ImportedMyClass {

public static void main(String[] args) { MyClass m = new MyClassO:

}

} ///

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова package ΠΈ import ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ логичСскоС Π΄Π΅Π»Π΅Π½ΠΈΠ΅ глобального пространства ΠΈΠΌΠ΅Π½, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅Π½ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, сколько людСй ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ ΠΈ Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ свои классы Π½Π° Java.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° самом Π΄Π΅Π»Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ «упаковываСтся» Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· мноТСства Ρ„Π°ΠΉΠ»ΠΎΠ² .class, Ρ‡Ρ‚ΠΎ способно привСсти ΠΊ бСспорядку, ΠΌΠΎΠΆΠ΅Ρ‚, Π΄Π°ΠΆΠ΅ хаосу. Для прСдотвращСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ .class ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ иСрархичСской структурой Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ способ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ нагромоТдСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Java; ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈ описании ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ jar.

Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π΄Π²Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ: созданиС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ классов, потСрянных Π² «дСбрях» структуры ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². Как Π±Ρ‹Π»ΠΎ упомянуто Π² Π³Π»Π°Π²Π΅ 2, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Β«ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌΒ» ΠΏΡƒΡ‚ΠΈ Ρ„Π°ΠΉΠ»Π° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. По общСпринятой схСмС пСрвая Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° класса. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹, соблюдСниС этого ΠΏΡ€Π°Π²ΠΈΠ»Π° обСспСчит ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹. (Волько Ссли вашС Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя Π½Π΅ достанСтся ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Π½Π°Ρ‡Π½Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java ΠΏΠΎΠ΄ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.) ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Ссли Ρƒ вас Π½Π΅Ρ‚ собствСнного Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, для создания ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² придСтся ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ с ΠΌΠ°Π»ΠΎΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ повторСния (скаТСм, имя ΠΈ фамилия). Если ΠΆΠ΅ Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Java, стоит Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ собствСнного Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

Вторая ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ β€” ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° дискС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Если ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²ΠΎ врСмя исполнСния понадобится Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» .class (Ρ‡Ρ‚ΠΎ дСлаСтся динамичСски, Π² Ρ‚ΠΎΡ‡ΠΊΠ΅, Π³Π΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ класса, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ запросС доступа ΠΊ статичСским Ρ‡Π»Π΅Π½Π°ΠΌ класса), ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ располагаСтся Ρ„Π°ΠΉΠ» .class.

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Java дСйствуСт ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмС. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠ½ провСряСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния CLASSPATH (Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ задаСтся ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ установки Java ΠΈΠ»ΠΈ инструмСнтариСм Java). CLASSPATH содСрТит список ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² качСствС ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… ΠΏΡ€ΠΈ поискС Ρ„Π°ΠΉΠ»ΠΎΠ² .class. Начиная с этих ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π΅Ρ€Π΅Ρ‚ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ замСняСт Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° слСши для получСния ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ (Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° package foo.bar.baz прСобразуСтся Π² foo\bar\baz, foo/bar/baz ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅ Π² зависимости ΠΎΡ‚ вашСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы). Π—Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ имя присоСдиняСтся ΠΊ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ элСмСнтам CLASSPATH. Π’ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… мСстах вСдСтся поиск Ρ„Π°ΠΉΠ»ΠΎΠ² .class, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ создаваСмого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ класса. (Поиск Ρ‚Π°ΠΊΠΆΠ΅ вСдСтся Π² стандартных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, опрСдСляСмых мСстонахоТдСниСм ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Java.)

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ всС сказанноС, рассмотрим ΠΌΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя: MindView.net. ΠžΠ±Ρ€Π°Ρ‰Π°Ρ Π΅Π³ΠΎ, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ глобальноС имя для ΠΌΠΎΠΈΡ… классов: net. mindview. (Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ com, edu, org ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… Java ΠΏΡ€Π΅ΠΆΠ΄Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Π»ΠΈΡΡŒ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС, Π½ΠΎ начиная с вСрсии Java 2 ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ.) Если потрСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ simple, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

package net.mindview.simple,

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅Π³ΠΎ пространства ΠΈΠΌΠ΅Π½ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π²ΡƒΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²:

//: net/mindview/simple/Vector.java

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

package net mindview simple,

public class Vector { public VectorО {

System out printlnCnet mindview.simple.Vector");

}

} ///:-

Как ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° package Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ строкС исходного ΠΊΠΎΠ΄Π°. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„Π°ΠΉΠ» выглядит ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅:

//: net/mindview/simple/List java

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

package net.mindview simple;

public class List { public ListO {

System.out pri ntln("net.mi ndvi ew.si mple.Li st"),

}

} /// ~

Π’ ΠΌΠΎΠ΅ΠΉ систСмС ΠΎΠ±Π° Ρ„Π°ΠΉΠ»Π° находятся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅:

Π‘ \DOC\JavaT\net\mindview\simple

Если Π²Ρ‹ посмотритС Π½Π° Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚ΠΎ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° net.mindview.simple, Π½ΠΎ Ρ‡Ρ‚ΠΎ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΡƒΡ‚ΠΈ? О Π½Π΅ΠΉ позаботится пСрСмСнная окруТСния CLAS-SPATH, которая Π½Π° ΠΌΠΎΠ΅ΠΉ машинС выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

CLASSPATH= ,D \JAVA\LIB,C.\D0C\JavaT

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, CLASSPATH ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ для поиска.

Однако для Ρ„Π°ΠΉΠ»ΠΎΠ² JAR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° JAR Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ CLASSPATH, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡΡΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ ΠΊ мСсту Π΅Π³ΠΎ располоТСния. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Ρ„Π°ΠΉΠ»Π° JAR с ΠΈΠΌΠ΅Π½Π΅ΠΌ grape.jar пСрСмСнная окруТСния Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

CLASSPATH= .D.\JAVAXLIB.Π‘ \flavors\grape.jar

ПослС настройки CLASSPATH ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² любом ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅:

// access/LibTest.java // Uses the library, import net mindview simple *;

public class LibTest {

public static void main(String[] args) { Vector v = new VectorO. List 1 = new ListO:

}

} /* Output:

net.mindview simple Vector net mindview.simple List */// -

Когда компилятор встрСчаСт Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ import для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ simple, ΠΎΠ½ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ поиск Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, пСрСчислСнных Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ CLASSPATH, Π½Π°ΠΉΠ΄Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ net/mindview/simple, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ поиску ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² с подходящими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ (Vector.class для класса Vector ΠΈ List.class для класса List). Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ классы, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ классов Vector ΠΈ List Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ со спСцификатором public.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΈΠΌΠ΅Π½

Π§Ρ‚ΠΎ происходит ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ конструкциСй * Π΄Π²ΡƒΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Π² своСм составС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°? ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹:

import net mindview simple *; import java.util.*,

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚ java,util.* Ρ‚ΠΎΠΆΠ΅ содСрТит класс с ΠΈΠΌΠ΅Π½Π΅ΠΌ Vector, это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρƒ. Но, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹, всС Π±ΡƒΠ΄Π΅Ρ‚ Π² порядкС β€” ΠΈ это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½Π°Ρ‡Π΅ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ лишниС усилия Π½Π° ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅Ρ‚.

ΠšΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Vector:

Vector v = new VectorO;

К ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΈΠ· классов Vector относится эта ΠΊΠΎΠΌΠ°Π½Π΄Π°? Π­Ρ‚ΠΎΠ³ΠΎ Π½Π΅ Π·Π½Π°ΡŽΡ‚ Π½ΠΈ компилятор, Π½ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ компилятор выдаст сообщСниС ΠΎΠ± ошибкС ΠΈ заставит явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ имя. НапримСр, Ссли ΠΌΠ½Π΅ понадобится стандартный класс Java с ΠΈΠΌΠ΅Π½Π΅ΠΌ Vector, я Π΄ΠΎΠ»ΠΆΠ΅Π½ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ этот Ρ„Π°ΠΊΡ‚: