Page 28 - 4657
P. 28

Якщо  в  двох  пакетах,  що  підключаються  за  допомогою
       форми  оператора  import  із  зірочкою,  є  класи  з  однаковими
       іменами,  однак  ви  їх  не  використовуєте,  транслятор  не
       відреагує. А  от  при  спробі  використати  такий  клас,  ви  відразу
       одержите  повідомлення  про  помилку,  і  вам  прийдеться
       переписати  оператори  import,  щоб  явно  вказати,  клас  якого
       пакета ви маєте через.
       class MyDate extends Java.util.Date { }


            Обмеження доступу

           Java  надає  кілька  рівнів  захисту,  що  забезпечують
       можливість  тонкого  настроювання  області  видимості  даних  і
       методів. Через наявність пакетів Java повинна вміти працювати
       ще з чотирма категоріями видимості між елементами класів:
           - Підкласи в тім же пакеті;
           - Не підкласи в тім же пакеті;
           - Підкласи в різних пакетах;
           - Класи, що не є підкласами і не входять у той же пакет.
           У  мові  Java  мається  три  рівні  доступу,  обумовлених
       ключовими  словами:  private  (закритий),  public  (відкритий)  і
       protected  (захищений),  що  вживаються  в  різних  комбінаціях.
       Вміст осередків таблиці визначає приступність змінної з даною
       комбінацією модифікаторів (стовпець) із На перший погляд усе
       це може показатися надмірно складним, але є кілька правил, що
       допоможуть  вам  розібратися.  Елемент,  оголошений  public,
       доступний  з  будь-якого  місця.  Усе,  що  оголошено  private,
       доступно тільки усередині класу, і ніде більше. Якщо в елемента
       взагалі  не  зазначений  модифікатор  рівня  доступу,  то  такий
       елемент  буде  видний  з  підкласів  і  класів  того  ж  пакета.  Саме
       такий  рівень  доступу  використовується  в  мові  Java  за
       замовчуванням. Якщо ж ви хочете, щоб елемент був доступний
       ззовні  пакета,  але  тільки  підкласам  того  класу,  якому  він
       належить,  вам  потрібно  оголосити  такий  елемент  protected.  І
       нарешті,  якщо  ви  хочете,  щоб  елемент  був  доступний  тільки
       підкласам, причому незалежно від того, чи знаходяться вони в

       26
   23   24   25   26   27   28   29   30   31   32   33