Alguien que me aclare porfavor.
¿para que sirve?
¿cuando se usa el contructor?
¿cuando no se usa?
¿siempre hay que declararlo?
saludos
| |||
Re: Constructor para que sirve. A ver si te lo puedo explicar de una forma sencilla. Una clase representa un objeto, el cual se tiene que construir cada vez que lo vas a usar. Para eso sirve el constructor. Cuando vas a usar un objeto de la clase creada (por ejemplo en el main) tienes que declararlo como una variable (para que me entiendas) e inicializarlo: class miClase{ public miClase(){} // constructor ... public static void main(String args[]){ miClase obj; // declaro el objeto de tipo miClase. // Inicialmente vale null obj=new miClase(); // ahora es un objeto con valor determinado } ... } Espero que te haya ayudado algo. Saludos |
| ||||
Re: Constructor para que sirve. Mira el constructor lo que hace es crearte o reservarte en memoria la cantidad de bytes necesaria para tu clase, y te regresa la direccion donde esta este espacio, el cual es guardado en la identificador: ObjetoCualquiera identificador = new ObjetoCualquiera(); identificador aqui es el que esta haciendo referencia a ese espacio en memoria que creaste cuando hiciste el new ObjetoCualquiera(), es de suma importancia tener en cuenta esto, pues es un error típico olvidar que los identificadores son referencias have funnnnnn PD: alguna otra duda, continua posteando....
__________________ Curso de Angular JS - Haremos una app de principio a fin |
| ||||
Re: Constructor para que sirve. Cuando no utilizarlos? Bien, las interfaces no cuentan con un construcor, para inicializarlas tienes que utilizar un clase que la implemente, ej: Map unMapa = new TreeMap(); List lista = new ArrayList(); osea, si te diste cuenta, la propia interface no esta haciendose el new, sino que una clase que la implemente es la que esta construllendo el objeto, algo similar sucede con las clases abstractas. esto es un error: Map mapa = new Map(); List lista = new List(); Otro tipo de clases que no necesitan instancia, son las clases que contienen metodos static, no se instancian, porque estas no tiene caso instanciarlas por definicion. Math.random(); Math.sin(32.2); si te das cuenta no se ejecuto el constructor de la clase Math, esto es por que sus metodos son static y no necesitan ser instanciadas. have funnnnnn
__________________ Curso de Angular JS - Haremos una app de principio a fin |