//Archivo Manager.java
package com.carmeth.core;
import static java.lang.System.out;
/*El objetivo de este ejercicio es observar que cuando se crea un constructor, el compilador ya no genera el constructor por default*/
public class Manager{
//Atributos de la clase Manager
private long id;
private String name;
//Esto es un bloque de instancia
//Estos bloques de instancia se ejecutan antes que los constructores
{
out.println("###FirstBlock##");
}
//Esto es un bloque de instancia estático, se ejecuta al inicio y solo una vez
static{
out.println("Only once");
}
//Constructor de clase Manager recibiendo como argumento un String
public Manager(String name){
this.name = name;
out.printf("creating %s \n",name);
}
//Constructor de clase Manager recibiendo como argumento un Long
public Manager(long id){
this.id = id;
out.println("Creating Manager");
}
//Setters
public void setId(long i){
id = i;
}
public void setName(String n){
name=n;
}
//Getters
public long getId(){
return id;
}
public String getName(){
return name;
}
}
//Archivo TestManager.java
package com.carmeth.core;
import static java.lang.System.out;
public class TestManager{
public static void main (String []args){
//Se crean 3 instancias de Manager utilizando el constructor que recibe un long como argumento
Manager m1 = new Manager(1L);
Manager m2 = new Manager(2L);
Manager m3 = new Manager(3L);
//Se crean 2 instancias de Manager utilizando el constructor que recibe un String como argumento
Manager m4 = new Manager("Juan");
Manager m5 = new Manager("Luis");
}
}
No hay comentarios:
Publicar un comentario