// Fiori.java // Esempio di chiamata di costruttori da costruttori public class Fiori { private int num_petali = 0; private String nome_fiore = new String(); Fiori(){ nome_fiore= "fiore"; num_petali= 3; System.out.println ("\tfine costruttore Fiori(): " + nome_fiore + " " +num_petali); } Fiori(int num_petali){ this(); this.num_petali = num_petali; System.out.println ("\tfine costruttore con arg intero, petali: " + num_petali); } Fiori(String nome){ nome_fiore = nome; System.out.println ("\tfine costruttore con arg stringa, nome: " + nome); } Fiori(String s, int p){ this(p); this.nome_fiore = s; //this.num_petali = p; System.out.println ("\tfine costruttore con stringa e arg intero: " + s + "\t" + p); } public void setNome(String s){ this.nome_fiore = s; } public void setPetali(int p){ this.num_petali = p; } public String getNome(){ return this.nome_fiore; } public int getPetali(){ return this.num_petali; } public Fiori cresci(){ this.num_petali++; return this; } public void print(){ System.out.println ("metodo print(). nome: " + nome_fiore + ", petali: " + num_petali); } public static void main (String[] par){ System.out.println("main di classe Fiori"); System.out.println("chiamata costruttore Fiori()"); Fiori un_fiore = new Fiori(); un_fiore.print(); un_fiore.cresci().cresci().cresci().print(); System.out.println("chiamata costruttore Fiori(5)"); Fiori zigna = new Fiori(5); zigna.print(); zigna.setNome("zigna"); zigna.cresci().cresci().print(); System.out.println("chiamata costruttore Fiori(\"dalia\")"); Fiori dalia = new Fiori("dalia"); dalia.print(); dalia.setPetali(32); dalia.print(); System.out.println("chiamata costruttore Fiori(\"nuovadalia\", 45)"); dalia = new Fiori("nuovadalia", 45); dalia.print(); } }