Wywoływanie jednego konstruktora z innego

Stworzyłem sobie taką oto klasę:

 

public class Mapet {

Mapet(String ciasteczko){

System.out.println("OM NOM NOM ciasteczko: "+ciasteczko);

}

Mapet(){

this("domyślne kremowe ciasteczko");

}

}

Jak widzimy klasa ta posiada dwa konstruktory – jeden sparametryzowany, drugi bezparametrowy. Obiekt klasy Mapet ma potrzebę posiadania ciasteczka. Możemy wywołać konstruktor sparametryzowany podając mu od razu ciasteczko, albo bezparametrowy nie podając ciasteczka (co za bezduszność...). W takim przypadku konstruktor bezparametrowy wywołuje konstruktor sparametryzowany podając domyślne ciasteczko. Uruchamiamy całość po prostu tworząc obiekt:

 

Mapet m = new Mapet();

Używamy do tego operatora "this". Efekt działania:

Ten artykuł jest elementem poniższych kursów: