Java'da nesne oluşturmanın beş farklı yolu vardır,
1. newAnahtar kelimeyi kullanarak → yapıcı çağrılır
Employee emp1 = new Employee();
2.newInstance()Class → yapıcı yöntemini kullanarak çağırmak
Employee emp2 = (Employee) Class.forName("org.programming.mitra.exercises.Employee")
.newInstance();
Ayrıca şu şekilde de yazılabilir:
Employee emp2 = Employee.class.newInstance();
3.newInstance()Constructor → yapıcı get yöntemini kullanarak çağrı
Constructor<Employee> constructor = Employee.class.getConstructor();
Employee emp3 = constructor.newInstance();
4. clone()yöntemi kullanarak → hiçbir yapıcı çağrı
Employee emp4 = (Employee) emp3.clone();
5. Serileştirmeyi kullanma → kurucu çağrısı yok
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
Employee emp5 = (Employee) in.readObject();
İlk üç yöntem newanahtar sözcüğü ve her ikisi de newInstance()bir yapıcı çağrısı içerir, ancak daha sonra iki klon ve serileştirme yöntemi yapıcıyı çağırmadan nesneler oluşturur.
Yukarıdaki tüm yöntemlerin kendileriyle ilişkili farklı bayt kodları vardır, Örnekler için Java ile nesne oluşturmanın farklı yolları ve örnekler için daha ayrıntılı açıklamalar, örneğin tüm bu yöntemlerin bayt kodu dönüşümü.
Bununla birlikte, bir dizi veya dize nesnesi oluşturmanın da nesneyi yaratmanın bir yolu olduğu iddia edilebilir, ancak bu şeyler sadece bazı sınıflara daha spesifiktir ve doğrudan JVM tarafından işlenirken, bu 5 yolu kullanarak herhangi bir sınıfın nesnesini oluşturabiliriz.