Wątek przeniesiony 2017-09-05 21:46 z Java przez ŁF.

Pytanie odnośnie metod

0

Cześć, jestem początkujący jeśli chodzi o programowanie w java. Mam pytanie odnośnie wywoływania metod. Dlaczego w poniższym kodzie metody obliczWartosc oraz toString zostają wywołane przy stworzeniu i wypisaniu obiektu, natomiast metoda plus już nie? Będę wdzięczny za każdą pomoc. Poniżej kod:

public class test {

	public static void main(String[] args){
		
		Pozycja p1 = new Pozycja("Chleb", 2, 4);
		System.out.println(p1);
		Pozycja p2 = new Pozycja("Masło", 2, 5);
		System.out.println(p2);

	}
}

class Pozycja {

    private String nazwaTowaru;
    private int ileSztuk;
    private double cena;
 
    Pozycja(String nazwaTowaru, int ileSztuk, double cena){
        this.nazwaTowaru = nazwaTowaru;
        this.ileSztuk = ileSztuk;
        this.cena = cena;
    }
 
    public double obliczWartosc(){
        return this.ileSztuk*this.cena;
    }
 
    public String toString(){
        return nazwaTowaru + "; " + String.format("%.2f",cena) + " zł; " + ileSztuk + " szt; " + 
        String.format("%.2f",obliczWartosc()) + " zł";
    }
    
    public String plus() {
    	return nazwaTowaru;
    }
}
2

Bo gdy podajesz nowy obiekt do println to wywoływana jest metoda toString, która u ciebie wywołuje obliczWartosc. Natomiast plus nigdzie nie używasz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1