Јава пружа две врсте
Јава референтни типови
У Јави постоји следећих пет типова референтних типова:
дханасхрее верма
Референце Типе | Опис |
---|---|
Класа | То је скуп упутстава. Описује садржај објекта. |
Низ | Обезбеђује структуру података фиксне величине која чува елементе истог типа. |
Напомене | Он пружа начин повезивања метаподатака са програмским елементима. |
Интерфејс | Имплементирају га Јава класе. |
Набрајање | То је посебна врста класе која је безбедна за типове. Сваки елемент унутар енума је инстанца тог набрајања. |
Референтни наспрам примитивних типова података
Референце Типе | Примитиве Типе |
---|---|
Није унапред дефинисан осим стринга. | Унапред је дефинисан у Јави. |
Сви референтни типови почињу великим словом. | Сви примитивни типови почињу малим словом. |
Непримитивни типови имају све исте величине. | Величина примитивног типа зависи од типа података. |
Користи се за позивање или позивање метода. | Не можемо позвати метод са примитивним типом. |
Може бити нула. | Не може бити нулто. Увек има вредност. |
Примери референтних типова података су класа, низови, стринг, интерфејс итд. | Примери примитивних типова података су инт, флоат, доубле, Боолеан, лонг, итд. |
ЈВМ подразумевано додељује 8 бајтова за сваку референтну променљиву. | Његова величина зависи од типа података. |
Пример : Демо д1; | Пример : инт нум=78; |
Алокација меморије и сакупљање смећа
У Јави, тхе нова кључна реч се користи за креирање инстанце класе. Другим речима, инстанцира класу додељивањем меморија за нови објекат и враћање референце на ту меморију. Објекти заузимају меморију у Јава хеап простору. Такође можемо користити нову кључну реч за креирање објекат низа .
ClassName objectName = new ClassName();
Ако нема референци на објекат, меморија коју користи тај објекат може се повратити током процеса сакупљања смећа.
Конверзија између примитивног типа и референтног типа
Позива се конверзија примитивног типа у референтни тип аутобокинг а позива се конверзија референтног типа у примитивни тип распакивање .
Поређење типа референце
Такође можемо да упоредимо референтне типове у Јави. Јава пружа два начина за упоређивање типова референци:
Коришћењем оператора једнако (==).
Он упоређује меморијске локације објеката. Ако је меморијска адреса (референца) оба објекта иста, објекти су једнаки. Имајте на уму да не упоређује садржај објекта. На пример:
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 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;