logo

Инстанцирање у Јави

Инстанција је огромна реч која дефинише универзалан и директан концепт у Јава програмирању, стварајући нове инстанце објеката да се користи у програму. У овом одељку ћемо разговарати шта је инстанцирање у Јави, како инстанцирати класу, и који су начини за креирање инстанци или објеката класе?

Инстанцирање у Јави

Инстанција

Ин Јава , инстанцирање значи назвати конструктор класе која ствара ан инстанце или објекат типа те класе. Другим речима, позива се креирање објекта класе инстанцирање . Заузима почетну меморију за објекат и враћа референцу. Инстанција објекта у Јави даје нацрт за класу.

Шта је објекат?

  • То је извршни ентитет.
  • Садржи нацрт часа.
  • Можемо креирати било који број објеката класе.
  • Може представљати податке које дефинише корисник, као што су Вецтор , Листе итд.

Синтакса за инстанцирање

 ClassName objName = new ClassName(); 

Ор

 ClassName cn; cn= new ClassName; 

Хајде да разумемо горње изјаве кроз пример.

Креирање инстанци

Постоје два начина за креирање инстанци:

Коришћење нове кључне речи

Јава пружа Нова кључна реч за инстанцирање класе.

Дефинисање референце

 //defines a reference (variable) that can hold an object of the DemoClass DemoClass dc; 

Инстанција

плскл
 DemoClass dc = new DemoClass(); //instantiation 

Такође можемо инстанцирати горњу класу на следећи начин ако дефинишемо референтну променљиву.

 //creates a DemoClass object (instantiate) //new keyword allocates memory space for the newly created object dc = new DemoClass(); 

Примећујемо да када користимо Нова кључна реч праћена именом класе, креира инстанцу или објекат те класе. Креирање конструктора класе познат је и као инстанцирање .

Напомена: Ако желимо да позовемо методе локалне унутрашње класе, морамо инстанцирати ту класу.

Коришћење статичке фабричке методе

Други начин за инстанцирање класе је позивање а статичне фабричка метода . Класа може да обезбеди јавну статичку фабричку методу која није ништа друго до статички метод који враћа ан инстанце класе. Увек запамтите да то није исто што и фабрички метод образац .

Можемо га користити уместо конструктора. Обезбеђивање статичке фабричке методе уместо конструктора има и предности и недостатке. Тхе први предност је што статичке фабричке методе такође имају имена, за разлику од конструктора. Тхе друго предност је у томе што за разлику од конструктора од њих се не захтева да креирају нови објекат сваки пут када се позову. Тхе трећи предност је у томе што за разлику од конструктора они могу да врате објекат било ког подтипа свог повратног типа. Тхе четврти предност је у томе што смањују опширност креирања инстанци параметаризованог типа.

Недостатак је у томе што је обезбеђивање само статичких фабричких метода то што класе без јавних или заштићених конструктора не могу бити подкласиране. Још један недостатак је што се оне не разликују лако од других статичких метода.

Погледајмо пример статичке фабричке методе.

 public final class Furniture { //.. private int price; private String description; private Furniture (int price, String description) { this.price = price; this.description = description; } public static Furniture getNewFurniture (int price, String description) { return new Furniture (price, description); } //.. } 

Хајде да видимо нека важна питања која могу да кликну на памет.

уради док је у Јави

Можемо ли инстанцирати апстрактну класу?

Не, не можемо инстанцирати апстрактне класе . Али они се могу поделити на подкласе. Када је апстрактна класа под-класа, она обично обезбеђује имплементације за све апстрактне методе у својој матичној класи.

Која је разлика између инстанцирања и иницијализације?

Инстанцирање и иницијализација су потпуно различити концепти у Јава програмирању.

Иницијализација: Додељивање вредности променљивој се позива иницијализација . На пример, цена = 100 . Поставља почетну вредност варијабилног трошка на 100.

Инстанција: Креирање објекта коришћењем нове кључне речи назива се инстанција. На пример, Цар ца = нев Цар(). Креира инстанцу класе Цар.