Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java.doc
Скачиваний:
5
Добавлен:
17.04.2019
Размер:
261.63 Кб
Скачать

Оператори.

Оператори – це спеціальні символи, які повідомляють транслятору про те, що ви хочете виконати деяку операцію над операторами. Оглянути всі оператори С++. || && подивитись до операторів швидкого порівняння.

Перетворення типів.

В Java існує два види перетворення типів:

1. автоматичне перетворення типів (розширюючи) може здійснюватись при виконання 2 умов. 1) два типа сумісні і 2) тип призначення більший за тип операндів (навіть якщо ми знаємо, що результат обчислення деякого виразу не перевищить деякий тип, необхідно враховувати проміжні значення). Приклад:

Byte a=20;

Byte b=50;

Byte c=50;

Int d=a*b/c;

Java переводить автоматичне перетворення типів, в тип який забезпечить дійсність результату, причому до більшого.

2. перетворення несумісних типів – звужуюче перетворення має загальний синтаксис: тип призначення зміна; приклад: int a=1000;

byte b=(byte) a;

Управляючі конструкції.

Існує три оператора управляючих конструкцій: if then else; swith; потрійний оператор. Подивитись в С++.

Цикли.

Дивитися по С++.

Класи в мові Java

Мова Java являється повністю об’єктно-орієнтованою мовою програмування. Для реалізації ОЛП в Java реалізовані властивості інкапсуляції, поліморфізму та спадкування. Весь код Java повинен розміщуватись всередині класів. Загальний синтаксис опису класу: модифікатор class ім’я extends ім’я аргументу implements ім’я інтерфейсу1, 2…n auxiliary.

{

Ідентифікатор тип ім’я поля = знач1;

………………………………………..

Ідентифікатор тип ім’я поля = значN;

Модифікатор тип ім’я методу1(параметри) {

Код методу

…………………………………………

Модифікатор тип ім’я методу1(параметри) {

Код методу

……………………………………………

}

}

При об’явленні класу можна вказувати наступні елементи:

  1. модифікатор

  2. ім’я класу

  3. ім’я супер класу

  4. імена інтерфейсів

Модифікатори – визначають спосіб подальшого використання класу. Вони важливі при успадкуванні, отриманні доступу т.і. в Java існують наступні модифікатори класів:

  • public – даний модифікатор доступний для всіх об’єктів. Вони можуть використовуватись для успадкування, розширення та інші. Особливість: якщо клас визначений як public, то ім’я файлу повинно співпадати з іменем класу.

  • Friendly – встановлюється по замовчуванню. Він визначає, що клас може використовуватись або розширюватись будь-яким класом, однак він доступний лише в тому пакеті, що інші класи.

  • Final – класи з таким модифікатором не можуть мати нащадків (класи константи).

  • Abstract – абстрактним називається клас, у якого хоча б один метод не описаний повністю. Приклад: Тип ім’я(параметри);

  1. ім'я класів в java мають такі самі обмеження як і в С++.

  • можуть починатися з символа підкреслення та з символа долара

  • можуть містити букви, цифри та деякі спец символи

  • не можуть співпадати з зарезервованими словами.

Хорошим тоном вважається написання назви класів з великої букви (всі слова – з великої букви)

Суперклас – механізм спадкування в java реалізується з допомогою суперкласів (предків) наших класів. Новий клас буде успадковувати всі поля та методи суперкласу. В Java реалізована деревоподібна структура спадкування, тобто один суперклас може мати багато нащадків а клас може мати тільки одного предка.

Кожен клас в java рахується об’єктом, тому по замовчування якщо ви не вказали, що клас являється нащадком від іншого класу, то по замовчуванню буде підставлено extends object. Всі класи в java являються нащадками класу object.

Інтерфейс – це java варіант спадкування від декількох класів. Інтерфейс використовується для опису певних функціональних можливостей, які будуть використовуватись в класах, однак не реалізують їх, оскільки не знають як їх необхідно реалізовувати. Приклад: інтерфейс рухатись. Інтерфейси можуть містити тільки абстрактні методи, а також поля з модифікаторами final (констант).

Внутрішня структура класу. Класи можуть мати два види компонентів: поля та методи. Дані або змінні, які описані всередині блоку клас поза межами будь-якого методу називають полем класу. Поля класу видимі в будь-якій точці цього класу і їх іноді називають глобальними змінними. Синтаксис визначення поля:

Модифікатор тип ім‘я[=ініціалізація].

Як і клас поля можуть мати модифікатор:

  • Friendly – визначається по замовчуванню. Поля з таким модифікатором доступні для інших класів, які знаходяться в тому ж самому пакеті (бібліотеці) та у всіх нащадків даного класу.

  • Public – доступ до таких полів публічний (всі хто хоче).

  • Protected – до захищених полів можуть звертатися тільки нащадки (підкласи) даного класу (в даному пакеті).

  • Private – найбільш захищені поля. Доступ до таких полів існує тільки в самому класі. Вони не доступні в нащадках чи інших класах. !!!

  • Private protected – такі поля доступні в підкласах даного класу, але не доступні для інших, доступний для підкласах які знаходяться в інших пакетів.

  • Static – статичні поля зберігають своє значення у всіх екземплярах нашого класу, тому зміна статичного поля в одному класі автоматично призведе до її зміни в інших екземплярах цього класу. В реальному житті – це одна і та сама область пам‘яті.

  • Final – даний модифікатор визначає поле константи. При визначенні полів констант, їх одразу необхідно ініціалізувати. Хорошим тоном вважається якщо назва константи записуються з усіх великих букв.

  • Synchronized – даний модифікатор використовується в багато поточних програмах, коли до одного поля одночасно можуть звертатися багато потоків. Для захисту поля від виникнення помилок.

Весь програмний код класів розміщується всередині методів. При об‘явленні методу вказується: модифікатор, тип параметру, ім‘я методу, формальні параметри. Методи мають такі ж самі модифікатори як і поля плюс додаткові модифікатори: public – методи загально доступні; protected – до таких методів можуть поступатись лише класи, які знаходяться в тому ж пакеті; friendly – модифікатор по замовчуванню, доступ до таких методів мають будь-які нащадки а також класи, які знаходяться в цьому ж самому пакеті; private – доступ до методів тільки всередині класу, недоступні для використання при спадкування; Private protected – доступні в нащадках, але не доступні в середині пакету. Static – статичні методи використовуються для економії пам‘яті, і являються спільними для всіх екземплярів даного класу. Статичні методи працюють лише з статичними полями; abstract – абстрактні методи лише визначаються, однак не реалізуються; Final – метод з таким модифікатором не може бути перевантажений в нащадках. native – такий модифікатор призначений для вказання того, що тіло методу буде реалізовано на іншій мові програмування, однак при цьому необхідно вказати тип, який буде повертатись методом. Synchronized – аналогічно ідентифікатору методу для полів.

При використання методів важливо пам’ятати, що якщо метод не повертає жодного параметру, то він повинен повертати тип point. Виключенням є тільки конструктори. Конструктор – це спеціальні методи, які призначені для встановлення певних початкових параметрів об’єкта (класу), а також виконання певних дій при створенні екземпляра об’єкта. Конструкторам надається таке ж саме ім‘я як ім‘я класу. Конструктор може мати список формальних параметрів, але не повинен повертати результату навіть тип void.

В класі можуть існувати декілька конструкторів, але вони повинні мати різну сигнатуру. По замовчуванню, якщо в класі не визначено жодного конструктора, то він створюється по замовчуванням пустим. Конструктори, як і інші методи також можуть мати і інші модифікатори, однак найбільш часто вони можуть мати модифікатор public.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]