logo

нев Оператор вс невИнстанце() метод у Јави

У Јави нев је оператор где је невИнстанце() метод где се оба користе за креирање објеката. Ако знамо тип објекта који треба да се креира, онда можемо да користимо нови оператор, али ако не знамо тип објекта који ће бити креиран на почетку и који се прослеђује током извршавања, у том случају се користи метода невИнстанце().
Генерално, оператор нев се користи за креирање објеката, али ако желимо да одлучимо који тип објекта ће бити креиран током извршавања, нема начина да користимо оператор нев. У овом случају морамо да користимо невИнстанце() метода .

Хајде да разговарамо о нови оператер .  У Јави креирање објеката се одвија у 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');  } } 

Излаз:

нев Оператор вс невИнстанце() метод у Јави

Објашњење излаза: заИме() методом враћа класу ' класа' објекат на који се позивамо невИнстанце() метод који ће вратити објекат те класе који прослеђујемо као аргумент командне линије. 

  • Ако прослеђена класа онда не постоји ЦлассНотФоундЕкцептион десиће се. 
  • ИнстантионЕкцептионће се десити ако прослеђена класа не садржи подразумевани конструктор као невИнстанце() метода интерно позива подразумевани конструктор те одређене класе. ИллегалАццессЕкцептионће се догодити ако немамо приступ дефиницији наведене дефиниције класе.

Повезани чланак: Рефлексија у Јави