naukaJavy.pl

  • Zwiększ rozmiar czcionki
  • Domyślny  rozmiar czcionki
  • Zmniejsz rozmiar czcionki
Home Kurs języka Java

Wywoływanie metod

Email Drukuj

Metody definiujemy w ramach definicji klas, tj. wewnątrz klas. Klasy definiują rodzaje bytów a obiekty (tj. instancje klas) konkretne byty. Metody które operują na obiektach, np. metoda która usuwa konkretny - reprezentowany przez obiekt klasy File - zbiór dyskowy, wywołujemy dla obiektów. Przykładowo, aby usunąć plik o nazwie file.txt z katalogu C:/mydir/ możemy napisać:

File myFile = new File("C:/mydir/file.txt");

boolean isDeleted = myFile.delete();

if(isDeleted)
System.out.println("Plik " + myFile.getPath() + " skasowano!");
else
System.out.println("Pliku " + myFile.getPath() + " nie skasowano!");

W pierwszej linii tworzymy obiekt reprezentujący wskazany plik. Następnie, wywołujemy dla tego obiektu metodę delete(). Metoda ta kasuje plik i zwraca wartość typu logicznego (tj. boolean) informującą o tym, czy plik udało się skasować. Jeśli tak to jest to wartość true a jeśli nie to false. Wartość tą przypisujemy do zmiennej isDeleted. Potem używamy instrukcji IF-ELSE aby wyświetlić stosowny komunikat. Metoda getPath() używana przy wyświetlaniu komunikatu zwraca ścieżkę dostępu do pliku reprezentowanego przez obiekt dla którego została wywołana.

Jak widzimy w powyższym przykładzie metodę dla danego obiektu wywołujemy za pomocą symbolu kropki. Składnia instrukcji wywołania metody jest następująca:

{obiekt}.{nazwa metody}( {parametry wywołania metody}? );

Jeśli metoda zwraca jakąś wartość to możemy tą wartość np. przypisać do zmiennej, tak jak w powyższym przykładzie przypisujemy wartość zwracaną przez metodę delete() do zmiennej isDeleted.

Wywołanie metody zwracającej wartość jakiegoś typu możemy umieścić wszędzie tam, gdzie możemy umieścić wartość tego typu. Warunkiem instrukcji IF może być dowolne wyrażenie które wylicza się do wartości typu boolean, tak więc może być nim także wywołanie metody delete() dla obiektu typu File. Powyższy kod możemy wobec tego przepisać w nieco krótszej formie:

File myFile = new File("C:/mydir/file.txt");

if(myFile.delete())
 System.out.println("Plik " + myFile.getPath() + " skasowano!");
else
 System.out.println("Pliku " + myFile.getPath() + " nie skasowano!");

Spróbujmy teraz powyższy kod – w nieco zmienionej formie – opakować w klasę o nazwie FileUtils. Implementacja takiej klasy mogłaby wyglądać następująco:

public class FileUtils{
  public String deleteFile(String filePath) {
  File myFile = new File(filePath);

  if(myFile.delete())
  return "Plik " + filePath + " skasowano!";
  else
  return "Pliku " + filePath + " nie skasowano!";
  }
}

Zauważmy, że metoda deleteFile(…) którą zaimplementowaliśmy w klasie FileUtils nie wyświetla teraz napisu informującego o statusie operacji, ale zwraca go jako wynik swojego działania. Możemy teraz tą metodę wywołać w sposób następujący:

FileUtils utils = new FileUtils();

String fileStatus = utils.deleteFile("C:/mydir/file.txt");

System.out.println(fileStatus);
 

Wiadomości

Vishal Sikka, CTO w firmie SAP zaapelował o autentyczne, pełne przekazanie zarządzania rozwojem języka i platformy Java w ręce zrzeszenia firm działającego na zasadzie równoprawności - zrzeszenia nie zdominowanego przez firmę SUN, czy obecnie Oracle (SUN został kupiony przez Oracle).

Jednocześnie zaapelował o udostępnienie kodu źródłowego Maszyny Wirtualnej Javy na zasadach open-source.

SAP zdecydowany jest zainwestować znaczne środki w rozwój Javy, jeśli tylko postulaty te zostaną spełnione – dodał.

Reklama

Co to jest

Apache Lucene Java to biblioteka open-source napisana w języku Java. Lucene służy do implementacji mechanizmów wyszukiwania pełnotekstowego – taki mały Google, który możemy mieć we własnej aplikacji.


© Wszelkie prawa zastrzeżone dla Mariusza Lipińskiego

kontakt: mariusz.lipinski@naukajavy.pl | strona domowa: www.mariuszlipinski.pl