Informatika4-2018/Gyakorlat5

A MathWikiből
(Változatok közti eltérés)
Gaebor (vitalap | szerkesztései)
(Új oldal, tartalma: „= Final, Immutable = == final == === tagváltozó === Ha tag-változó (adattag) előtt van a '''final''' kulcsszó, akkor azt jelenti, hogy a konstruktorban értéket…”)
Újabb szerkesztés →

A lap 2018. október 5., 08:53-kori változata

Tartalomjegyzék

Final, Immutable

final

tagváltozó

Ha tag-változó (adattag) előtt van a final kulcsszó, akkor azt jelenti, hogy a konstruktorban értéket kell neki adni és máshol pedig nem lehet!

public class Osztaly
{
    private String name_;
    public Osztaly()
    {
        name_ = "";
    }
    public Osztaly(String name)
    {
        name_ =  name;
    }
    public void SetName(String name)
    {
        name_ =  name; // hibás!
    }
}

Konstruktoron kívül már egyenlőség jel bal oldalán nem szerepelhet, sem osztályon belül (private) sem kívül (public).

lokális változó

Ha egy függvényen belül lokális változó final, akkor csak egyszer inicializálható, egyszer állhat egyenlőség jel bal oldalán. De nem kell hogy ez egyből a deklaráció után legyen.

static public int ComputeX(int n)
{
    final int m;
    if (n==1)
        m = n;
    else if (n % 2 == 0)
        m = n/2;
    else
        m = 3*n + 1;
 
    // m új értéket már nem kaphat!
 
    return m;
}
Személyes eszközök