title: Using toString() method from child class
body: <p>Hi I am writing a code using polymorphism and I would like to print List on the screen but when I am using my code it run toString method from parent class only. How can I fix it?</p>
  
  <p>public class HospitalApp {</p>
  
  <pre><code>public static void main(String[] main){
  
      Hospital hospital = new Hospital();
  
      List&lt;Person&gt; lista = new ArrayList&lt;&gt;();
  
      lista = hospital.showList();
  
  
      StringBuilder stringBuilder = new StringBuilder();
  
      for(Person person : lista){
          stringBuilder.append(person);
          stringBuilder.append("\n");
      }
      System.out.println(stringBuilder.toString());
  }   
  </code></pre>
  
  <p>}</p>
  
  <hr>
  
  <p>public class Hospital{</p>
  
  <pre><code>List&lt;Person&gt; lista = new ArrayList&lt;&gt;();
  Person doktor = new Doctor("All", "Bundy",100, 99999);
  Person nurse = new Nurse("Iga", "Lis",160, 10);
  Person nurse_1 = new Nurse("Magda", "Andrych",160, 20);
  
  public List showList(){
      lista.add(doktor);
      lista.add(nurse);
      lista.add(nurse_1);
      return lista;
  }
  </code></pre>
  
  <p>}</p>
  
  <hr>
  
  <p>public class Person{</p>
  
  <pre><code>private String imie;
  private String nazwisko;
  private double wyplata;
  
  public Person(){}
  
  public Person(String imie, String nazwisko, double wyplata){
      this.imie = imie;
      this.nazwisko = nazwisko;
      this.wyplata = wyplata;
  }
  
  public void setImie(String imie){
      this.imie = imie;
  }
  
  public String getImie(){
      return imie;
  }
  
  
  public void setNazwisko(String nazwisko){
      this.nazwisko = nazwisko;
  }
  
  public String getNazwisko(){
      return nazwisko;
  }
  
  
  public void setWyplata(double wyplata){
      this.wyplata = wyplata;
  }
  
  public double getWyplata(){
      return wyplata;
  }
  
  
  public String toString(){
  return  getImie() + " " + getNazwisko() + " " + getWyplata();
  }
  </code></pre>
  
  <p>}</p>
  
  <hr>
  
  <p>public class Nurse extends Person{</p>
  
  <pre><code>private int nadgodziny;
  
  public Nurse(){}
  public Nurse(String imie, String nazwisko, double wyplata, int nadgodziny){
      super(imie, nazwisko, wyplata);
      this.nadgodziny = nadgodziny;
  }
  
  
  public void setNadgodziny(int nadgodziny){
  this.nadgodziny = nadgodziny;
  }
  
  public int getNadgodziny(){
      return nadgodziny;
  }
  
  @Override
  String toString(){
  return  getImie() + " " + getNazwisko() + " " + getWyplata() + " " + getNadgodziny();
  }
  </code></pre>
  
  <p>}</p>
  
  <hr>
  
  <p>public class Doctor extends Person {</p>
  
  <pre><code>private double premia;
  
  
  public Doctor(){}
  
  public Doctor(String imie, String nazwisko, double wyplata , double premia){
      super(imie, nazwisko, wyplata);
      this.premia = premia;
  }
  
  
  public double getPremia(){
      return premia;
  }
  
  public void setPremia(double premia){
      this.premia = premia;
  }
  
  @Override
  String toString(){
  return  getImie() + " " + getNazwisko() + " " + getWyplata() + " " + getPremia();
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Can someone help me solve this problem?</p>