Hirdetés

Új hozzászólás Aktív témák

  • loszerafin

    senior tag

    További ''érdekesség'' ebben a témában:

    Az eredeti kérdés ez volt:

    Az ugye világos, hogy ez

    ----------------
    int a = 10;
    int a = 10;
    ------------------
    Nem működik (already defined, mondja a compiler).

    És persze ez sem:
    -------------------------
    MyClass a = new MyClass();
    MyClass a = new MyClass();
    -------------------------
    Az érdekes viszont az, hogy így működik:
    for (int i=0; i<2; i++){
    int a = 10;
    };
    pedig itt is 2x van az ''int a = 10'' sor.

    A kérdés az volt, hogy lehet ez?


    Amit ''felfedeztem'', hogy van olyan eset, amikor minden végrehajtáskor készül egy új objektum!
    Legalábbis, ha osztályokról van szó:


    class MyClass { }

    class MoreMyClass {

    public static void main (String[] args){
    MyClass a = new MyClass();
    for(int i=0; i<2; i++){
    MyClass s = new MyClass();
    if (i == 0) a = s;
    System.out.println(i + '':'' + (a==s));
    }
    }
    }



    És az eredmény:


    0:true
    1:false


    Ami azt szemlélteti, hogy a ciklus második futásakor az s másik objektumra mutat, mint az első körben. (már, ha nem tévedek, persze)


    [Szerkesztve]

    [Szerkesztve]

Új hozzászólás Aktív témák