V Javi je new operator, kjer je newInstance() metoda, kjer se oba uporabljata za ustvarjanje objekta. Če poznamo vrsto predmeta, ki ga je treba ustvariti, lahko uporabimo nov operator, če pa ne poznamo tipa predmeta, ki naj bi bil ustvarjen na začetku in se posreduje med izvajanjem, se v tem primeru uporabi metoda newInstance().
Na splošno se operator new uporablja za ustvarjanje objektov, vendar če se želimo odločiti o vrsti predmeta, ki bo ustvarjen med izvajanjem, ne moremo uporabiti operatorja new. V tem primeru moramo uporabiti metoda newInstance(). .
Razpravljajmo o nov operater . V Javi ustvarjanje objekta poteka v treh korakih, kot je navedeno: instanciranje objekta in inicializacija objekta ter priklic konstruktorja .
Datatype variable;
Ker bomo uporabili novo ključno besedo, prevajalnik interpretira spremenljivko kot objekt
Datatype object = new Constructor();
primer:
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); } }
Izhod
[1 4 3]
Opomba: Lahko ga uporabimo tudi s konstruktorjem, kjer želimo poklicati objekt in ne spremenljivke.
Zdaj, če pridemo do metode newInstance(), ki je prisotna znotraj paketa java.lang znotraj razreda razreda. Kot smo že omenili, se uporablja tam, kjer naložimo razred iz oddaljenih virov.
Razmislite o scenariju, kjer se pozneje povežemo z bazo podatkov z uporabo našega programa java za izvajanje. To je mogoče bolj očitno razložiti z JDBC primer. Ne pozabite, da smo tam uporabili Class.forName() metodo za dinamično nalaganje registrov in poleg nje smo uporabili metodo newInstance() za dinamično ustvarjanje objektov.
primer:
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'); } }
Izhod:

Izhodna razlaga: forName() metoda vrne razred ' razred' objekt, na katerega kličemo newInstance() metoda, ki bo vrnila objekt tega razreda, ki ga posredujemo kot argument ukazne vrstice.
- Če opravljeni razred ne obstaja, potem ClassNotFoundException se bo pojavilo.
Sorodni članek: Odsev v Javi