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