tworzenie obiektu

0

Elo, mam taką linijkę kodu:

MojaKlasa moja1 = new MojaKlasa(), moja2;

Czym w takim wypadku jest "moja2" ? Dlaczego stosuje się taki zapis ? thx

1

Zmienną typu MojaKlasa o wartości null.
Żeby oszczędzić palec. Powyższy kod jest równoważny z takim:

MojaKlasa moja1 = new MojaKlasa();
MojaKlasa moja2;
0
bogdans napisał(a):

Zmienną typu MojaKlasa o wartości null.
Żeby oszczędzić palec. Powyższy kod jest równoważny z takim:

MojaKlasa moja1 = new MojaKlasa();
MojaKlasa moja2;

Czyli, analogicznie, taki kod:

MojaKlasa moja1, moja2 = new MojaKlasa();

Utworzy 2 obiekty (moja1, moja2) klasy MojaKlasa czy będzie może moja1=null oraz moja2 jako obiekt klasy MojaKlasa ?

0
mirek1 napisał(a):
MojaKlasa moja1, moja2 = new MojaKlasa();

Utworzy 2 obiekty (moja1, moja2) klasy MojaKlasa czy będzie może moja1=null oraz moja2 jako obiekt klasy MojaKlasa ?

A czy int a, b = 3; spowoduje przypisanie do 'a' trójki czy nie? Jak nie wiesz to dlaczego tego nie sprawdzisz?

0

Takie sprawdzenie nie jest całkiem trywialne. Kodu

MojaKlasa m;
System.out.println(m);

nie skompilujesz.
Sprecyzuję, łatwo sprawdzić, że kod

MojaKlasa moja1, moja2 = new MojaKlasa();

nie utworzy dwóch obiektów, trudniej sprawdzić, że moja1 == null.

0

Napisanie krótkiego ifa moim zdaniem jest trywialne.

0
if(moja1 == null)
{
    System.out.println("moja1 to null");
}
0

Kodu

MojaKlasa moja1,moja2=new MojaKlasa()'
if(moja1 == null)
{
    ....
}

nie można skompilować: error: variable moja1 might not have been initialized.

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