[java] importowanie zmiennych


#1

Witam,

wiem że to podstawa, ale nie działa mi...

Otóż jak zaimportować zmienne, powiedzmy z main.java do menu.java?


(micko) #2

W Javie nie istnieje coś takiego jak importowanie zmiennych. To chyba jakieś przyzwyczajenie z PHP

Java to język stricte obiektowy. Zmienne możesz przekazywać jako argumenty metod publicznych, konstruktorów. Możesz także uzyskiwać do nich dostęp na drodze dziedziczenia.


#3

wiec co zrobic zeby moc uzywac zmiennych z innego pliku? jakiej funkcji uzyc?


(micko) #4

Rozumiem, że w klasie Main chcesz utworzyć Menu. Najprostszy przykład to

public class Main

{

   String zmienna;


   public void pokarzMenu()

   {

      Menu mojeMenu = new Menu(this.zmienna);

      mojeMenu.setZmienna(this.zmienna);

   }

}


public class Menu 

{

   String zmiennaMenu;


   public Menu(String zmienna)

   {

      this.zmiennaMenu = zmienna;

   }


   public void setZmienna(String zmienna)

   {

      this.zmiennaMenu = zmienna;

   }

}

To oczywiście się nie kompiluje. To tylko taki przykładzik.

Pamiętaj też, że coś takiego jak zmienne globalne nie istnieje. Wszystko da się zrobić bez nich. Wykorzystywanie zmiennych globalnych to paskudny nawyk.

Przestań też myśleć o kodzie Javy jak o plikach. To nie jest język skryptowy, w którym wykonywany jest skrypt zawarty w kliku plikach, linijka po linijce.

Java to język OBIEKTOWY i chcąc w niej cokolwiek robić trzeba zaprzyjaźnić się z paradygmatem obiektowym.


(kalamita) #5

Dokładnie tak jak powiedział micko.

Jeżeli w klasie chcesz użyć jakieś metody a do tej metody zaimportować jakieś obiekty z aktualnej metody i aktualnej klasy, po prostu wywołaj metodę z listą paramentów np.

w klasie MojaKlasa istnieje metoda mojaMetoda w niej utworzyłem obiekt typu String o nazwie mojObiekt.

Chcę teraz tego obiektu użyć w klasie MojaInnaKlasa w metodzie mojaInnaMetoda.

Wywołuję więc metodę mojaInnaMetoda klasy MojaInnaKlasa i jako parametr wywołania metody mojaInnaMetoda przekazuję mojObiekt.

Java jest językiem obiektowym, w zasadzie ciężko mówić w Javie o zmiennych - bo wszystko jest obiektem określonego typu,