Wątek przeniesiony 2016-08-22 16:35 z Java przez bogdans.

Wyjaśnienie działania programu i skąd się wziął taki wynik

0

Witam, czy ktoś może mi wytłumaczyć o co w tym chodzi, skąd się wziął wynik itd?
user image

0

A czego nie rozumiesz?

0

no właśnie niczego tu nie rozumiem, skąd taki wynik się wziął ani nic

0

Sprawdź co oznacza w javie static.

0

Modyfikator static oznacza iż pole obiektu ma taką samą wartość dla wszystkich obiektów danej klasy. I co mi to dało?

0

Dlatego jest b a nie a

0

A jaki Twoim zdaniem wynik powinien wyjść? Bo rozumiem, że umiesz Javę na tyle, by móc chociażby zgadnąć (być może błędnie) jaki wynik będzie z podanego kodu?

Test t2 = new Test(30, 40)

Po tej linii x ma wartość 30

0

ale dlaczego po tej linii ma taką wartość?! nic z tego nie rozumiem

0

Wynik dało.

0

Bo

public Test(int n, int m) {
    x = n;
0
Hubcio222 napisał(a):

ale dlaczego po tej linii ma taką wartość?!

Bo jak już sam napisałeś - static oznacza iż pole obiektu ma taką samą wartość dla wszystkich obiektów danej klasy

0

x = n, ok rozumiem, ale dlaczego 30 a nie 10?

0

Bo

Test t2 = new Test(30, 40)

czyli n ma wartość 30.

0

hmm, czyli liczy się jakby to drugie, a co z linijką Test t1 = new Test (10, 20) ? Tutaj x ma wartość 10

0

A jak masz

x = 10;
x = 30;

to jaką wartość ma x po tych 2 liniach?

0

ok ogarniam dzięki panowie, jestem ultraidiotą jeśli chodzi o programowanie

0

I to jest właśnie efekt nieadekwatnego nazewnictwa zaproponowanego przez projektantów języka Java. Zamiast słowa

static

o wiele czytelniejsze byłoby nazwanie takiej zmiennej bardziej opisowo. Bo tu static

 tylko wprowadza w błąd.

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