Wiemy już jak napisać pierwszy kod w języku Java. W tym artykule omówię podstawowy element każdego programu, aplikacji napisanej w języku Java. Tym elementem jest klasa. Załączony kod pokazuje jak wygląda klasa w języki Java oraz jak ją używać. Nie będę omawiał zagadnień z podstaw programowania obiektowego takich jak: dziedziczenie, hermetyzacja oraz polimorfizm, jest to dłuższy temat na oddzielny artykuł.

Teorię na temat klas języka Java można znaleźć na oficjalnej stronie Oracle. Natomiast ja postaram się wytłumaczyć pojęcie “klasy” w sposób bardziej przystępny dla osób, które dopiero, co zaczynają przygodę z programowaniem, albo zastanawiają się czy uczyć się programować, a w szczególności w języku Java.

Klasa jest szablonem do tworzenia obiektów, tak wiem, miało być językiem zrozumiałym dla wszystkich. Zacznę jeszcze raz, klasa pozwala odwzorować obiekty ze świata rzeczywistego na świat programowania obiektowego. Dla przykładu notatnik, w którym piszemy możemy odwzorować na klasę języka Java. Taki notatnik posiada swoje cechy, stan oraz możemy wykonać na nim działanie, tak samo jest z klasą. Poniższa tabela porównuje fizyczny przedmiot notatnika z klasą Notatnik w języku Java.

NotatnikPrzedmiotKlasa
Cechailość stronint pages;
Stanilość zapisanych stron, bieżąca stronaint pagesWritten;
int currentPage;
Działanieprzejdź do stronyvoid goToPage(int page);
Porównanie fizycznego notatnika z klasą języka Java.

public class Notebook {
    int pages;
    int pagesWritten;
    int currentPage;

    void goToPage(int page) {
        currentPage = page;
    }
}

Tworząc nową klasę jednocześnie tworzymy nowy typ w języku Java, który możemy wykorzystać w innych miejscach naszego kodu. Powyższa klasa dla uproszczenia nie zawiera słów kluczowych public, private itd., które nazywają się modyfikatorami dostępu. Oczywiście istnieje więcej niż jeden notatnik, który możemy kupić i korzystać z niego. Tak samo jest z klasami w języku Java, na podstawie klasy możemy stworzyć obiekt, konkretną reprezentację klasy Notebook.

 public class NotebookStore {
    public static void main(String[] args) {
        Notebook blankNotebook = new Notebook();
    }
}

Powyższy kod ilustruje przykład tworzenia obiektu klasy Notebook.

Metoda main() została już opisana w artykule Pierwszy kod w języku Java. Skupimy się na linijce Notebook blankNotebook = new Notebook(); W tej jednej linijce jest zawarte sporo informacji, które rozszyfrujemy później, teraz najważniejsze jest to, że w tym miejscu tworzymy nowy obiekt (o nazwie blankNotebook) klasy Notebook, który nazywa się również zmienną. Klasę tworzymy tak samo jak w fabryce produkuje się notatniki znając szablon ich tworzenia. Wspomniałem wcześniej, że nasza własna klasa (i każda inna) wprowadza nowy typ do języka Java, tak samo jest w tym przypadku.

Notebook blankNotebook = new Notebook(); – tworzenie obietku.
Objaśnienie poszczególnych elementów od lewej do prawej:
1. Notebook – typ zmiennej,
2. blankNotebook – obiekt klasy Notebook; zmienna,
3. = – przypisanie wartości do zmiennej, obiektu klasy,
4. new – tworzenie nowego obiektu klasy Notebook,
5. Notebook – typ referencji,
6. Notebook() – wywołanie konstruktora klasy Notebook.

 public class NotebookStore {
    public static void main(String[] args) {
        Notebook blankNotebook = new Notebook();
        Notebook personalNotebook = new Notebook();
    }
}

Powyższy kod ilustruje przykład tworzenia wielu obiektów klasy Notebook.

Dlaczego tworzymy oddzielną klasę z metodą main()? Wiele przykładów w Internecie robi właśnie w ten sposób, ale nie jest, to dobre podejście. Dlaczego? Ponieważ idąc tym tropem, w momencie kiedy tworzymy nową klasę musielibyśmy tworzyć w niej metodę main(), a to nie jest poprawne. Program, aplikacja napisana w języku Java powinna mieć tylko jedną metodę main(), która pozwala uruchomić nasz program, aplikację. Dlatego najlepiej utworzyć jedną oddzielną klasę z metodą main() i w tej metodzie tworzyć obiekty innych klas.

Po “krótkim” wstępie czas na instrukcję krok po kroku jak stworzyć pierwszą klasę w języku Java z wykorzystaniem IntelliJ IDEA. Szczegółowy opis tworzenia od podstaw projektu w IntelliJ IDEA można znaleźć w artykule Pierwszy kod w języku Java w IntelliJ – krok po kroku.

Pierwsza klasa - kod Java, IntelliJ, krok po kroku
Wersja finalna
« z 3 »

Całość kodu można znaleźć na:

Oczywiście przedstawione informacje na temat klasy języka Java, to dopiero wierzchołek góry lodowej, ale od czegoś trzeba zacząć. W tym artykule nie poruszyłem następujących tematów odnośnie klas Java: dziedziczenie, konstruktor, metody get/set, toString(), equals(), hashCode() oraz klasy wewnętrzne, anonimowe. Te tematy poruszę w kolejnych artykułach.

Zapraszam do regularnego odwiedzania mojej strony, będą pojawiać się kolejne artykuły oraz do kontaktu przez email kontakt(at)juniorjavadeveloper.pl.