Jest taki kod:
public class Klasa1
{
public static void main(String [] args)
{
Klasa1 p = new Klasa1();
p.start();
}
void start()
{
String s1 = "Kawa";
String s2 = fix(s1);
System.out.println(s1 + " " + s2);
}
String fix(String s1)
{
s1 = s1 + "herbata";
System.out.print(s1 + " ");
return "herbata";
}
}
proszę o wyjaśnienie, dlaczego na wyjściu otrzymuję wynik: "Kawaherbata Kawa herbata"? Dlaczego zmiennej s1 w metodzie start() nie przypisano nowej wartości Kawaherbata, tylko została Kawa?