przypisywanie podklas

0

Nie ogarniam do końca this super itp. więc nie umiem zrobić czegoś takiego(mógłby ktoś wytłumaczyć jak zrobić żeby działało?):

public class MainActivity extends Activity {
int a = 0;
int b = 0;
    private Klasa klasa = Klasa0(MainActivity.this);
//The method Klasa0(MainActivity) is undefined for the type MainActivity
[...]
klasa.upd();
//The method upd() is undefined for the type Klasa
public class Klasa {
    }
}
public class Klasa0 extends Klasa {
    MainActivity main;
    public Klasa0(MainActivity c){
        main = c;
    }
    public void upd() {
            main.a = 35;
    }
} 
public class Klasa1 extends Klasa {
    MainActivity main;
    public Klasa1(MainActivity c){
        main = c;
    }
    public void upd() {
            main.b = 20;
    }
} 

chodzi o to, żeby do jednej zmiennej przypisywać różne podklasy i wywoływać funkcję. Co należy zmienić, i czy tak się w ogóle da?

0

ok pierwszy błąd to nie dodałem "new" , ale dalej nadal jest to samo ;/

0

A może najpierw nauczysz się javy zanim weźmiesz się za androida? o_O

new Klasa0(this);

Ale musisz to wywołac z poziomu konstruktora albo metody, w takiej inicjalizacji jak próbujesz się nie da.

0

jakby to powiedział amerykaniec "bulszit"

new Klasa0(this);

this przekazuje Context czy coś a nie activity

a wracając znalazłem odpowiedź powinno być

((Klasa0)klasa).upd();
0

sorry za double posta, ale to jest newbie, więc takie pytania powinny być rozpatrywane normalnie, a nie z pretensją

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