marți, 6 iulie 2010

Tot despre constructori (2)

Dacă am exemplificat funcționarea apelului super(), nu putem să trecem cu vederea apelul sau "geamăn": this().

/**
 * Copiati programul de mai jos in editor si rulati-l.
 * Deci cum functioneaza instructiunea this() ?
 * Decomentati apelul new Clasa002(); si rulati din nou. 

 * Ce se intampla si de ce ?
 * Decomentati instructiunea this(); din constructorul

 * Clasa002(). Ce eroare apare ?
 */
public class TestThisInConstructori {
    public static void main (String [] args){
        new Clasa001();
        System.out.println("----");
        new Clasa001("un id");
        System.out.println("----");
//        new Clasa002();
    }
}
class Clasa001 {
    private String id;
   
    Clasa001(){
        this (null);
        System.out.println("Clasa001: constructor fara parametri");
    }
    Clasa001(String str){
        System.out.println("Clasa001: constructor cu parametru String: " + str);
        this.id = str;
    }
}
class Clasa002 {
    Clasa002(){
//        this();
        new Clasa002();
    }
}

Niciun comentariu:

Trimiteți un comentariu