Java extends et constructeur

public class Bonjour{
	public static void main(String[] arg){
		Animal unAnimal = new Animal();
		unAnimal.setEspece("chat");
		unAnimal.setCouleur("noir");
		//System.out.println("Bonjour "+unAnimal.espece+"-"+unAnimal.couleur);
		System.out.println("Bonjour "+unAnimal.getEspece()+"-"+unAnimal.getCouleur());
		
		Poisson unPoisson = new Poisson();
		unPoisson.setEspece("requin");
		unPoisson.setCouleur("noir");
		unPoisson.setEnvironnement("mer");
		System.out.println("Bonjour "+unPoisson.getEspece()+"-"+unPoisson.getCouleur()+"-"+unPoisson.getEnvironnement());
		
		unAnimal = new Animal("chien", "gris");
		System.out.println("Bonjour "+unAnimal.getEspece()+"-"+unAnimal.getCouleur());
		
		unPoisson = new Poisson("riviere");
		unPoisson.setEspece("truite");
		unPoisson.setCouleur("rouge");
		System.out.println("Bonjour "+unPoisson.getEspece()+"-"+unPoisson.getCouleur()+"-"+unPoisson.getEnvironnement());
		
		unPoisson = new Poisson("carpe", "jaune", "bassin");
		System.out.println("Bonjour "+unPoisson.getEspece()+"-"+unPoisson.getCouleur()+"-"+unPoisson.getEnvironnement());
	}
}


public class Animal{
	private String espece, couleur;
	
	public Animal(){
		this.espece = "";
		this.couleur = "";
	}
	
	public Animal(String unespece, String unecouleur){
		this.espece = unespece;
		this.couleur = unecouleur;
	}
	
	public String getEspece(){
		return espece;
	}
	
	public String getCouleur(){
		return couleur;
	}
	
	public void setEspece(String unespece){
		this.espece = unespece;
	}
	
	public void setCouleur(String unecouleur){
		this.couleur = unecouleur;
	}
}


public class Poisson extends Animal{
	private String environnement;
	
	public Poisson(){
		super();
		this.environnement = "";
	}
	
	public Poisson(String unenvironnement){
		super();
		this.environnement = unenvironnement;
	}
	
	public Poisson(String unespece, String unecouleur, String unenvironnement){
		super(unespece, unecouleur);
		this.environnement = unenvironnement;
	}
	
	public String getEnvironnement(){
		return environnement;
	}
	
	public void setEnvironnement(String unenvironnement){
		this.environnement = unenvironnement;
	}
}
public class Famille {
	private String nom;
	public Famille(){
		this.nom = "";
	}
	public Famille(String unNom){
		this.nom = unNom;
	}
	public static void main (String[] arg){
		System.out.println("Hello Famille");
		Famille uneFamille = new Famille("CHONG");
		//uneFamille.setNom("DENG");
		System.out.println("Hello Famille " + uneFamille.getNom());
	}
	public String getNom(){
		return this.nom;
	}
	public void setNom(String unNom){
		this.nom = unNom;
	}
}

public class Enfant extends Famille {
	private String prenom;
	public Enfant(){
		super();
		this.prenom = "";
	}
	public static void main (String[] arg){
		System.out.println("Hello");
		Enfant unEnfant = new Enfant();
		unEnfant.setPrenom("Marie");
		unEnfant.setNom("DENG");
		System.out.println("Hello "+unEnfant.getNom()+" "+unEnfant.getPrenom());
	}
	public String getPrenom(){
		return this.prenom;
	}
	public void setPrenom(String unPrenom){
		this.prenom = unPrenom;
	}
}