1. Crear un objeto de cinco maneras
package com.linyf.demo;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
/**
* 创建对象的五种方式
*/
public class ObjectCreateTest implements Cloneable{
public static void main(String[] args) throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException, CloneNotSupportedException, IOException, ClassNotFoundException {
// 1. 使用new 关键字创建
Object o = new Object();
// 2. 使用反射
Object o1 = Object.class.newInstance();
// 3. 使用Constructor
Constructor<Object> constructor = Object.class.getConstructor();
Object o2 = constructor.newInstance();
// 4. clone 需要实现实现Cloneable接口 ----------不常用
ObjectCreateTest objectCreateTest = new ObjectCreateTest();
ObjectCreateTest clone = (ObjectCreateTest)objectCreateTest.clone();
// 5. 反序列化 ------------不常用
ObjectInputStream in = new ObjectInputStream(new FileInputStream("data.obj"));
ObjectCreateTest seriaObj = (ObjectCreateTest) in.readObject();
}
}
2. El proceso de creación de un objeto
Para crear un común los objetos de Java, con el siguiente procedimiento:
1, oportunidades virtuales a las nuevas instrucciones para localizar la piscina símbolo constante de la referencia de clase.
2, para comprobar si la clase representada por las referencias simbólicas se carga, analiza, inicializado.
3, la memoria de la máquina virtual asignado para el objeto.
4, el espacio de memoria de la máquina virtual asignada a todos los inicializado a los valores cero.
5, la máquina virtual para orientar los ajustes necesarios.
6, los métodos de aplicación, las variables miembro se inicializan.