Zaczynam naukę Javy i chciałbym na początek ogarnąć klasy, metody itp.
Jest to moje pierwsze podejście do jakiegokolwiek języka obiektowego i jak pewnie sami wiecie niezrozumienie pewnych kwestii może napsuć krwii człowiekowi.
Dowiedziałem się jak wywoływać metodę niestatyczną ze statycznej (przez utworzanie obiektu), jednak wywołać metody niestatycznej z niestatycznej nie mogę (a chyba nie powinno być żadnego problemu).
Problem prezentuje poniższy kod:
public class Test{
public void inna(String a){
System.out.println(a.length());
}
public void metoda(){
String a;
Scanner odczyt = new Scanner(System.in);
a = odczyt.nextLine();
Test.inna(a);
}
public static void main (String[] args){
System.out.println("Hello");
Test obj = new Test();
obj.metoda();
}
}
NetBeans wyświetla mi błąd do linijki z "Test.inna(a);":
"non-static method inna(String) cannot be referenced from static content"
choć wydaje mi się, że metoda() nie jest statyczna...
Poprosiłbym o rozwiązanie tej kwestii, bo docelowo chciałbym rozwiązać problem ustawienia tytułu okienka jFrame poprzez wpisanie go w konsoli po uruchomieniu programu, gdzie okienko to osobna klasa (chciałbym nauczyć się komunikować między klasami). Napisałem już do tego celu metodę publiczną, ale nie może ona być statyczna toteż nie mogę wywołać jej z metody main. Utworzyłem nową metodę niestatyczną (przynajmniej tak mi się wydaje), ale z niej także nie mogę wywołać metody niestatycznej.
Z góry dziękuję i pozdrawiam.
Paweł