Tablica jako argument

0

Mam stworzone dwie klasy. Może mi ktoś wytłumaczyć dlaczego odwołując się do wartości loc1.getIndexCoords(1) pokazuje mi wynik 1.1, a nie 116.4.

public class ArrayLocation {
    private double[] coords;

    public ArrayLocation(double[] coords) {
        this.coords = coords;
    }
    public double getIndexCoords(int index) {
        return coords[index];
    }
}
public class LocationTester {

    public static void main(String[] args) {
        double[] coords  = {39.9, 116.4};
        ArrayLocation loc1 = new ArrayLocation(coords);
        coords[0] = 0.0;
        coords[1] = 1.1;

        System.out.println(loc1.getIndexCoords(1));
    }
}
1

przeciez zmieniasz wartosci w tablicy.

coords[1] = 1.1;

tam przekazujesz referencje do tej klasy (a nie kopie obiektu)

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