Dostęp do pól klasy głównej

0

W jaki sposób można uzyskać dostęp do publicznych pól klasy głównej z poziomu innej klasy, która nie zawiera się w głównej (obie znajdują się w tej samej paczce)?

0

Przez kropkę? :-|

0

Chodzi Ci o coś takiego ?

KlasaA obj;
obj.poleTypuInteger = 3;

0

Chodzi mi o coś takiego:

public class Main {
    public int ma;
    public static void main(String[] args) {
    }
}

public class Other {
    int a;
    Other() {
	Main.ma = 0; /* kompilator zglasza blad */
    }
}
0

Pole ma byc statyczne, sadze ze nie przeczytales nawet tego co kompilator powiedzial...

public static int ma;
0

Dziękuję za komentarz mobilizujący do działania : )

Długo by tłumaczyć, co właściwie było źle, ale informacja o konieczności użycia pola statycznego okazała się kluczowa (owszem, czytałem błędy, ale koncept statyczności jest jeszcze dla mnie dość nowy).

0

Wyobraź sobie, że pola statyczne, to jakby zmienne globalne dla wszystkich obiektów jednej klasy, a metody statyczne, to jak funkcje statyczne (zaskoczenie?:) ) dla takich zmiennych.
Nie jest to do końca prawdziwe, ale ułatwia zrozumienie czym jest dostęp statyczny. Dzięki słowu static można w Javie napisać program proceduralny nie różniący się niemal niczym od klasycznego funkcyjnego C - właściwie bez żadnych obiektów poza jedną klasą działającą jako przestrzeń nazw.

0

dla uściślenia - pole nie musi być statyczne ale wtedy trzeba się do niego dostać po stworzonej referencji ; )

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.