- •Основи програмування мовою Java
- •Синтаксис та конструкції в Java
- •Масиви.
- •Оператори.
- •Перетворення типів.
- •Управляючі конструкції.
- •Класи в мові Java
- •Успадкування та інтерфейс
- •Перевизначення методів
- •Способи реалізації багато поточності в java
- •Виключні ситуації в java
- •Розподілене програмування
- •Доступ до баз даних
- •Попередньо відкомпільовані (підготовлені) запити
- •Пакетне виконання запитів.
- •Виклик внутрішніх процедур та функцій субд.
Оператори.
Оператори – це спеціальні символи, які повідомляють транслятору про те, що ви хочете виконати деяку операцію над операторами. Оглянути всі оператори С++. || && подивитись до операторів швидкого порівняння.
Перетворення типів.
В 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(параметри) {
Код методу
……………………………………………
}
}
При об’явленні класу можна вказувати наступні елементи:
модифікатор
ім’я класу
ім’я супер класу
імена інтерфейсів
Модифікатори – визначають спосіб подальшого використання класу. Вони важливі при успадкуванні, отриманні доступу т.і. в Java існують наступні модифікатори класів:
public – даний модифікатор доступний для всіх об’єктів. Вони можуть використовуватись для успадкування, розширення та інші. Особливість: якщо клас визначений як public, то ім’я файлу повинно співпадати з іменем класу.
Friendly – встановлюється по замовчуванню. Він визначає, що клас може використовуватись або розширюватись будь-яким класом, однак він доступний лише в тому пакеті, що інші класи.
Final – класи з таким модифікатором не можуть мати нащадків (класи константи).
Abstract – абстрактним називається клас, у якого хоча б один метод не описаний повністю. Приклад: Тип ім’я(параметри);
ім'я класів в 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.