Niin, vanhoja tenttejä tässä selaan ja sellaista on kysytty männävuosina. Eikä hajuakaan.
Vääntäkää rautalangasta arvon koodarit!
Vääntäkää rautalangasta arvon koodarit!
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 6
Vanhimmat
Luokkamuuttuja on yhteinen kaikille luokan instansseille kun taas instanssimuuttuja on eri joka instanssille.
....ja instanssi on?
Ei nyt ollu tarpeeks rautalangasta tämä.
on siis kansantanssi italiassa
elikkä kun muuttuja määritellään näin
public class Ihminen
{
static String nimi;
private String sukunimi;
}
niin kaikki luokan instanssit jakavat sen muuttujan. Instanssi on siis luokasta tehty olio
Ihminen pena = new Ihminen();
nyt tuo pena on yksi instanssi luokasta Ihminen
sukunimeä kun muuttaa, niin se muuttuu vaan pena-olion sisällä eikä kaikissa luokan instansseissa eli se on instansimuuttuja
Elikkä
public class Ihminen
{
static String nimi;
private String sukunimi;
}
nimi ja sukunimi ovat nyt siis tässä instanssimuuttujia?
Miltä luokkamuuttujat näyttävät?
nimi on luokkamuuttuja. Se on määritelty "static" määreellä ja on siis yhteinen kaikille Ihminen-luokan olioille.
sukunimi ei ole määritelty "static" määreellään ja on siksi instanssimuuttuja.
public class Ihminen
{
public static String nimi;
public String sukunimi;
public void SanoNimi()
{
System.out.println(nimi);
}
public void SanoSukunimi()
{
System.out.println(this.sukunimi);
}
}
Ihminen pena = new Ihminen();
Ihminen liisa = new Ihminen();
//luokkamuuttujaan viitataan luokan nimellä
Ihminen.nimi = "jorma";
//instanssimuuttujaan viitataan instanssin nimellä
pena.sukunimi="Korpi";
liisa.sukunimi="Kyynel";
pena.SanoNimi(); //tulostaa jorma
liisa.SanoNimi(); //tulostaa jorma
pena.SanoSukunimi(); //tulostaa Korpi
liisa.SanoSukunimi(); //tulostaa Kyynel