У Јави нев је оператор где је невИнстанце() метод где се оба користе за креирање објеката. Ако знамо тип објекта који треба да се креира, онда можемо да користимо нови оператор, али ако не знамо тип објекта који ће бити креиран на почетку и који се прослеђује током извршавања, у том случају се користи метода невИнстанце().
Генерално, оператор нев се користи за креирање објеката, али ако желимо да одлучимо који тип објекта ће бити креиран током извршавања, нема начина да користимо оператор нев. У овом случају морамо да користимо невИнстанце() метода .
Хајде да разговарамо о нови оператер . У Јави креирање објеката се одвија у 3 корака као што је наведено: инстанцирање објекта и иницијализација објекта и позивање конструктора .
Datatype variable;
Пошто ћемо користити нову кључну реч, компајлер тумачи променљиву као објекат
Datatype object = new Constructor();
Пример:
Java// Java Program to Illustrate new Operator // Importing required classes import java.util.*; // Main class class GFG { // Main drive method public static void main(String[] args) { // List al; // Ny now al is just a variable // Now creating object using new operator List<Integer> al = new ArrayList<>(); // Adding elements to above List al.add(1); al.add(4); al.add(3); // Printing elements of List System.out.print(al); } }
Излаз
[1 4 3]
Напомена: Можемо га користити и са конструктором где смо желели да позовемо објекат, а не променљиве.
Сада ако дођемо до методе невИнстанце() која је присутна унутар пакета јава.ланг унутар класе Цласс. Као што смо већ расправљали, користи се тамо где учитавамо класу из удаљених извора.
Размотрите сценарио где се касније повезујемо са базом података користећи наш јава програм за извршење. То се очигледније може објаснити са ЈДБЦ пример. Запамтите да смо тамо користили Цласс.форНаме() метод за динамичко учитавање регистара и тамо смо користили метод невИнстанце() поврх њега да бисмо динамички креирали објекте.
Пример:
Java// Java Program to Demonstrate Working of newInstance() // Method present inside java.lang.Class // Class 1 // Class 2 class A { int a; } class B { int b; } // Class 3 // Main class public class GFG { // Method 1 // To create an instance of class whose name is // passed as a string 'c'. public static void fun(String c) throws InstantiationException IllegalAccessException ClassNotFoundException { // Creating an object of type 'c' Object obj = Class.forName(c).newInstance(); // Printing the type of object created System.out.println('Object created for class:' + obj.getClass().getName()); } // Method 2 // Main driver method public static void main(String[] args) throws InstantiationException IllegalAccessException ClassNotFoundException { // Calling above method over 'A' fun('A'); } }
Излаз:

Објашњење излаза: заИме() методом враћа класу ' класа' објекат на који се позивамо невИнстанце() метод који ће вратити објекат те класе који прослеђујемо као аргумент командне линије.
- Ако прослеђена класа онда не постоји ЦлассНотФоундЕкцептион десиће се.
Повезани чланак: Рефлексија у Јави