public class luokka1
{
private int aa;
public class luokka2
{
private int aa;
public void metodi()
{
// Miten täällä päästään käsiksi luokka1.aa muuttujaan, kun "this" viittaa aina luokka2-instanssiin?
}
}
};
{
private int aa;
public class luokka2
{
private int aa;
public void metodi()
{
// Miten täällä päästään käsiksi luokka1.aa muuttujaan, kun "this" viittaa aina luokka2-instanssiin?
}
}
};
Vastaukset 2
Vanhimmat
niin eipä siihen pääse muista luokista käsiksi, jos et tee jotain accessoria sille public getAa() ja public setAa(int aa)
luokka1 aa:n vois määritellä protected ja sitten siihen varmaan pääsis käsiksi.
Toisin kun aiempi vastaus väittää, kyllä sisäluokilla on oikeus privaatteihinkin jäseniin, ihan yhtä hyvin kuin luokka1:n metodeillakin.
Nimellä kvalifioitu 'this'-pointteri toimii. Eli metodi():ssa voit sanoa "luokka1.this.aa" ja saat luokka1:n aa:n.