Odwołanie do klasy z innego pliku .java

0

Witajcie, pobieram dane z bazy i wrzucam do klasy user, chciałbym teraz odwołać się do tych danych. W jaki sposób mogę to zrobić?

Import danych z bazy: baza.java

jakiś kod...
      User User = new User();
       User.setNazwaUzytkownika(imiesql);
       User.setUserId(idsql);
jakiś kod...

klasa: User.java

class User {
    String NazwaUzytkownika;
    int UserId;
    
    public void setNazwaUzytkownika(String name)
    {
        NazwaUzytkownika = name;
    }
    
    public String getNazwaUzytkownika()
    {
        return NazwaUzytkownika;
    }

    public void setUserId(int userid)
    {
        this.UserId = userid;
    }

    public int getUserId()
    {
        return this.UserId;
    }
}

Odczyt danych: main.java

jakiś kod...

            User User = new User();
            System.out.println(User.NazwaUzytkownika);

jakiś kod...

Jeśli tworzę nowego Usera jak w przykładzie z main.java - przewidywalnie dostaję pustą wartość (w końcu to inny user niż w baza.java), jeśli po prostu staram się odwołać do User.NazwaUzytkownika bez tworzenia nowej instancji klasy dostaję błąd: non-static variable NazwaUzytkownika cannot be referenced from a static context

Jak można odwołać się do tego usera, który jest już stworzony? A może w inny sposób byłoby lepiej to zrobić?

1
  1. Musisz zrozumieć różnicę pomiędzy KLASĄ a OBIEKTEM. Klasa to definicja typu, obiekt to instancja tego typu. int jest typem, ale int x=1; to już instancja tego typu. Instancji może być wiele! Stąd też pomysł bez tworzenia nowej instancji klasy jest idiotyczny bo co jak miałbyś dwa obiekty tego typu? Co byś chciał wtedy dostać?
  2. Musisz przekazać gdzieś OBIEKT do którego chcesz się odwołać, tak samo jak robisz to z każą inną zmienną.
2

Czytelniejsze by było, i prawie niosące właściwą odpowiedź, pisanie zmiennych z małej litery a typów (jak tutaj) z wielkiej. I taka właśnie w Javie panuje konwencja,

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