Java пропонує два типи
Довідкові типи Java
У Java існує п’ять таких типів посилальних типів:
Тип посилання | опис |
---|---|
Клас | Це набір інструкцій. Він описує зміст об'єкта. |
Масив | Він забезпечує структуру даних фіксованого розміру, яка зберігає елементи одного типу. |
Анотації | Він надає спосіб пов’язати метадані з елементами програми. |
Інтерфейс | Він реалізований класами Java. |
Перерахування | Це особливий тип класу, безпечний для типів. Кожен елемент всередині переліку є екземпляром цього переліку. |
Посилання проти примітивних типів даних
Тип посилання | Примітивний тип |
---|---|
Він не визначений заздалегідь, окрім рядка. | Він попередньо визначений у Java. |
Усі типи посилань починаються з великої літери. | Весь примітивний шрифт починається з малої літери. |
Непримітивні типи мають однакові розміри. | Розмір примітивного типу залежить від типу даних. |
Він використовується для виклику або виклику методів. | Ми не можемо викликати метод з примітивним типом. |
Він може бути нульовим. | Воно не може бути нульовим. Це завжди має цінність. |
Прикладами довідкових типів даних є клас, масиви, рядок, інтерфейс тощо. | Прикладами простих типів даних є int, float, double, Boolean, long тощо. |
JVM виділяє 8 байт для кожної посилальної змінної за замовчуванням. | Його розмір залежить від типу даних. |
приклад : Демо d1; | приклад : int num=78; |
Розподіл пам'яті та збирання сміття
У Java, нове ключове слово використовується для створення екземпляр класу. Іншими словами, він створює екземпляр класу шляхом виділення пам'ять для нового об’єкта та повернення посилання на цю пам’ять. Об’єкти займають пам’ять у просторі купи Java. Ми також можемо використати ключове слово new для створення об'єкт масиву .
ClassName objectName = new ClassName();
Якщо немає посилань на об’єкт, пам’ять, яка використовується цим об’єктом, може бути звільнена під час процесу збирання сміття.
Перетворення між примітивним типом і еталонним типом
Викликається перетворення примітивного типу в еталонний автобокс і викликається перетворення посилального типу на примітивний розпакування .
Порівняння еталонного типу
Ми також можемо порівняти еталонні типи в Java. Java надає два способи порівняння еталонних типів:
За допомогою оператора рівності (==).
Він порівнює місця пам’яті об’єктів. Якщо адреса пам’яті (посилання) обох об’єктів однакова, об’єкти є рівними. Зауважте, що він не порівнює вміст об’єкта. Наприклад:
Demo d1 = new Demo('Atlanta'); //creating a reference of Demo class Demo d2 = d1; //assigning the reference d1 into d2 if(d1=d2) //comparing reference
За допомогою методу String.equals().
Спосіб належить до Рядок клас. Це перекриває дорівнює() метод Об'єкт клас . Він також використовує оператор рівності (==) для порівняння еталонного типу. Наприклад, розглянемо такий фрагмент коду:
String str1='JAVA'; String str2='JAVA'; String str3='java'; System.out.println(str1.equals(str2)); //returns true because content and case is same System.out.println(str1.equals(str3)); //returns false because case is not same
Тип посилання на копіювання
Є дві можливості, коли ми копіюємо посилальні типи: створюється копія посилання на об’єкт або створюється фактична копія (створення нової копії) об’єкта.
У наступному прикладі ми призначили посилання на об’єкт. Якщо ми внесли будь-які зміни в об’єкт, це також відображатиме посилання, і навпаки.
Sum s1 = new Sum(); Sum s2= s1;