Tässä tehtävässä harjoittelemme toString-metodin määrittelyä muokkaamalla valmista koodia. Seuraavaksi on esitetty luokka Agentti, jolla on etunimi ja sukunimi:
public class Agentti {
private String etunimi;
private String sukunimi;
public Agentti(String etunimi, String sukunimi) {
this.etunimi = etunimi;
this.sukunimi = sukunimi;
}
public void tulosta() {
System.out.println("My name is " + sukunimi + ", " + etunimi + " " + sukunimi);
}
}
Luokalle on määritelty metodi tulosta, joka luo seuraavanlaisen merkkijonoesityksen:
Agentti bond = new Agentti("James", "Bond");
bond.tulosta(); // Tulostaa: My name is Bond, James Bond
Tallenna luokka itsellesi tiedostoon Agentti.java ja poista luokan metodi tulosta. Luo luokalle uusi metodi public String toString(), joka palauttaa edellämainitun merkkijonoesityksen.
Luokan tulee toimia jatkossa seuraavasti:
Agentti bond = new Agentti("James", "Bond");
bond.toString(); // ei tulosta mitään
System.out.println(bond); // Tulostaa: My name is Bond, James Bond
Agentti ionic = new Agentti("Ionic", "Bond");
System.out.println(ionic); // Tulostaa: My name is Bond, Ionic Bond
Example output:
= Suoritetaan koodi =
Agentti agentti = new Agentti("Johnny" , "English");
System.out.println(agentti);
= Ohjelman tuloste =
My name is English, Johnny English
public class Agentti {
private String etunimi;
private String sukunimi;
public Agentti(String etunimi, String sukunimi) {
this.etunimi = etunimi;
this.sukunimi = sukunimi;
}
/*
public void tulosta() {
System.out.println("My name is " + sukunimi + ", " + etunimi + " " + sukunimi);
}
*/
public String toString() {
return "My name is " + this.etunimi + ", " + this.sukunimi;
}
}