
- •1. Історія створення Java.
- •2. Історія розвитку Java
- •3.Опишіть поняття “об’єкт”
- •4. Опишіть поняття “клас”
- •5. Опишіть типи відношень між класами
- •6. Переваги і недоліки об’єкто-зорієнтованого програмування
- •7. Опишіть правила побудови ідентифікаторів мови Java, наведіть приклади
- •8. Поняття літералів. Приклади
- •9. Оператори та операції в мові Java
- •11. Типи даних у мові Java
- •12. Клас Object
- •13. Клас String
- •14. Клас Class
- •15. Імена в Java
- •16. Пакети в Java
- •17. Область видимості імен
- •18.Об’ява класів у Java
- •19.Приведення типів у Java
- •21.Приведення посилальних типів даних.
- •22.Приведення до рядка.
- •23.Заборонені приведення.
- •24.Застосування приведення типів.
- •25.Статичні елементи.
- •26. Ключові слова this і super.
- •27. Ключове слово abstract.
- •28. Поняття інтерфейсів.
- •29. Поліморфізм.
- •30. Масиви в Java.
- •31. Приведення типів для масивів.
- •32. Клонування масивів.
- •33. Керування ходом виконання програми.
- •34. Нормальне і перерване виконання операторів.
- •35. Блоки і локальні змінні.
- •36. Порожній оператор.
- •38. Синтаксис оператора if.
- •39. Синтаксис оператора switch.
- •40. Керування циклами.
- •41.Синтаксис оператора while
- •42.Ситаксис оператора do
- •43.Синтаксис оператора for
- •44.Оператори break I continue
- •45.Іменовані блоки
- •46. Оператор return
- •47. Оператор synchronized
- •48. Помилки при роботі програми. Виняткові ситуації
- •48. Помилки при роботі програми. Виняткові ситуації
- •49.Причини виникнення помилок
- •50.Обробки виняткових ситуацій
- •51.Конструкція try-catch-finally
- •52.Використання оператора throw
- •53.Виняткові ситуації, які перевіряються і які не перевіряються
- •54.Створення класів користувача обробки виняткових ситуацій
- •55.Поняття потокв в Java
- •56.Базові класи для роботи з потоками
- •57.Класс Thread
- •58. Інтерфейс Runnable
- •60. Потоки-демони
- •61.Синхронізація роботи потоків.
- •62.Класи обгортки для примітивних типів.
- •63.Клас Math.
- •66.Клас Calendar.
- •67.Клас TimeZone.
- •68. Колекції java
- •69.Інтерфейс Collection.
- •70.Інтерфейс Set.
- •71.Інтерфейс List.
- •72.Інтерфейс Map.
- •73.Інтерфейс SortedSet.
- •74.Інтерфейс SortedMap.
- •75.Інтерфейс Iterator.
- •76.Конкретні класи колекцій.
- •77.Клас Properties.
- •78. Інтерфейс Comparator.
- •79.Клас BitSet.
- •80.Клас Random.
- •81.Система введення/виведення. Потоки даних.
- •82.Класи реалізації потоків даних.
- •84. Робота із файловою системою.
- •59. Робота із пріоритетами потоків
21.Приведення посилальних типів даних.
До посилальним типів даних відносяться масиви, рядки і класи. Посилальні типи зберігають не значення, а посилання на нього. У наступному прикладі
class Point {int [] metrics;}
interface Move {void move (int deltax, int deltay);}
оголошені клас Point, що містить масив metrics, і інтерфейс Move, що містить метод move.
Два посилальних типу вважаються однаковими, якщо:
обидва вони є класами або інтерфейсами, завантажуються одним завантажувачем класів і мають одне і те ж повне ім'я;
обидва вони є масивами, що складаються з елементів одного і того ж типу.
Об'єкт - це або екземпляр класу, або масив. Значеннями посилального типу служать посилання на об'єкти, які часто називаються також вказівниками. Спеціальним посилальним значенням є нульове посилання, яке не вказує ні на який об'єкт.
На один об'єкт може вказувати будь-яку кількість посилань. Якщо дві змінні вказують на один об'єкт, то стан об'єкта може бути змінено через перше посилання, а потім прочитано через друге.
22.Приведення до рядка.
Будь-який тип може бути приведений до рядка, тобто до примірника класу String. Таке перетворення є винятковим в силу того, що охоплює абсолютно всі типи, в тому числі і boolean, який не може брати участь ні в якому іншому приведенні, крім тотожного.
Найпростіший спосіб створення рядка виглядає так:
String greeting = "Hello world!";
У даному випадку «Hello World!» - Це строковий літерал (тобто константа), що складається з послідовності символів, укладених в лапки. Всякий раз, коли компілятор стикається зі строковим літералом, він створює об'єкт типу String зі значенням, в нашому випадку, «Hello World!». Як і будь-який інший об'єкт, рядок можна створити, використовуючи ключове слово new. Клас String має три конструктора, які дозволяють створювати об'єкт, використовуючи різні джерела, наприклад, масив символів.
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println(helloString);
Останній рядок прикладу виведе на екран hello.
Методи для отримання інформації про рядок називаються методами доступу. Один з цих методів length(). Він повертає кількість символів у рядку. У наступному прикладі len дорівнюватиме 17:
String palindrome = "Dot saw I was Tod";
int len = palindrome.length ();
Клас String реалізує метод з'єднання двох рядків(конкатинація):
string1.concat(string2);
Даний код поверне новий рядок, що містить string1 і приєднану до него string2.
Також можна використовувати даний метод із строковими літералами :
"My name is". Concat("Rumplestiltskin");
Найчастіше рядки з'єднують за допомогою оператора «+», приклад:
"Hello," + " world " + "! "
В результаті вийде рядок «Hello, world!».
Оператор «+» широко використовується для виведення інформації, наприклад :
String string1 = "saw I was" ;
System.out.println ("Dot"+string1+"Tod");
Код виведе «Dot saw I was Tod».
Подібна конкатенація може бути використана в зв'язці з будь-якими іншими об'єктами. Для об'єктів які не є рядками буде викликаний метод toString( ), який конвертує їх в рядки.