Метод 1
Использование нового ключевого слова. Это наиболее распространенный способ создания объекта в Java. Почти 99% объектов создаются таким образом.
Employee object = new Employee();
Метод 2
Использование Class.forName (). Class.forName () дает вам объект класса, который полезен для отражения. Методы этого объекта определены Java, а не программистом, пишущим класс. Они одинаковы для всех классов. Вызов newInstance () для этого дает вам экземпляр этого класса (то есть, вызываяClass.forName ("ExampleClass"). NewInstance () это эквивалентно вызову нового ExampleClass ()), в котором вы можете вызывать методы, которые определяет класс, доступ к видимым полям и т. д.
Employee object2 = (Employee) Class.forName(NewEmployee).newInstance();
Class.forName () всегда будет использовать ClassLoader вызывающей стороны, тогда как ClassLoader.loadClass () может указывать другой ClassLoader. Я полагаю, что Class.forName также инициализирует загруженный класс, тогда как подход ClassLoader.loadClass () не делает этого сразу (он не инициализируется, пока не будет использован в первый раз).
Другой должен читать:
Java: введение в состояние потока с примером
Простой пример Java Enum
Метод 3
Использование clone (). С помощью clone () можно создать копию существующего объекта.
Employee secondObject = new Employee();
Employee object3 = (Employee) secondObject.clone();
Метод 4
Использование метода newInstance ()
Object object4 = Employee.class.getClassLoader().loadClass(NewEmployee).newInstance();
Метод 5
Использование десериализации объекта. Десериализация объекта - это не что иное, как создание объекта из его сериализованной формы.
// Create Object5
// create a new file with an ObjectOutputStream
FileOutputStream out = new FileOutputStream("");
ObjectOutputStream oout = new ObjectOutputStream(out);
// write something in the file
oout.writeObject(object3);
oout.flush();
// create an ObjectInputStream for the file we created before
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("crunchify.txt"));
Employee object5 = (Employee) ois.readObject();