Jednymi z głównych komponentów programowania obiektowego są klasy i obiekty.
Czym są obiekty?
W rzeczywistości jest wiele obiektów wokół nas, np. komputer, klawiatura, stół oraz wszystkie rzeczy, które widzimy. Używając nazewnictwa programistycznego mają one dwie główne cechy: stan (ang.state) i zachowanie (ang. behaviour). Stanem może być np. kształt lub rozmiar czegoś, wiek, model, ilość nóg np. w stole itd. Zachowaniem w przypadku komputera może być: jego włączenie, wyłączenie, rysowanie czegoś na monitorze, drukowanie, wydawanie dźwięków.
Obiekty są umieszczone w polach (ang.fields) ( znamy je jako zmienne) i eksponują swoje zachowanie w tzw. metodach.
O klasach należy myśleć jako o szablonach lub jako o strategiach do tworzenia obiektów.
Komunikatem, który tworzy nową klasę w Javie jest public class Main
Stwórzmy naszą pierwszą klasę. W tym celu otwieramy nowy projekt i nadajemy mu nazwę Classes, klikamy dwukrotnie w oknie po lewej stronie w Classes, potem dwukrotnie w src, potem prawym przyciskiem myszy w domenę i wybieramy New, potem Java Class:


Nadajmy nazwę Car. Wpisujemy w miejsce „Name” nazwę „Car” (pamiętajmy o wielkiej literze na początku nazwy) i wciskamy OK.
W oknie Intellij pojawia się:
package com.wordpress.programujeodzera;
public class Car {
}
jest to komunikat, że tworzymy nową klasę o nazwie Car.
Możemy zlokalizować klasę na naszym komputerze, klikając prawym przyciskiem myszy w klasę Car i wybierając „Show in Explorer”.

wówczas wyświetli się nam folder zawierający utworzoną klasę:

jeśli klikniemy w klasę Car prawym przyciskiem i otworzymy zawartość za pomocą Notatnika, pojawi się nam to samo co w oknie konsoli Intellij:

Słowa public, class, package są to tzw. keywords (słowa klucze- była o nich mowa wcześniej) w Javie.
public jest modyfikatorem dostępności (oznacza, że inne klasy mają nieograniczony dostęp do klasy, którą tworzymy). Innym modyfikatorem dostępności może być modyfikator „private„- oznacza, że żadne inne klasy nie mają dostępu to tej klasy.
Mając utworzoną klasę, potrzebujemy utworzyć jakieś zmienne, które są częścią tej klasy. Zmienne tworzone są wewnątrz metody ( tzw. zmienne lokalne), dostępne są dla całej klasy, którą tworzymy.
Kiedy tworzymy pole dla klasy, musimy określić modyfikator dostępności. Generalną zasadą podczas tworzenia pola w języku Java jest użycie modyfikatora „private”.
Stwórzmy jakieś pola dla naszej klasy:
public class Car {
private int doors;
}
jak widać powyżej oprócz typu i nazwy zmiennej „doors” (drzwi), określiliśmy modyfikator dostępu ” private”. Zmienna „doors” jest jednym z komponentów stanu samochodu. To jest jedna z cech samochodu, możemy również dodać inne, np.:
public class Car {
private int doors;
private int wheels;
private String models;
private String engine;
private String colour;
}
powyżej stworzyliśmy tzw. szablon ( ang. template) zmiennych, które będą nieodłącznymi elementami samochodu. Oczywiście, podczas tworzenia prawdziwych aplikacji, jest wtedy wiele więcej pól (mogą być setki różnych pól, które możemy dodać jeśli chodzi o samochód). Stworzyliśmy więc prostą klasę o nazwie Car z pięcioma polami ( będącymi tzw. state components).
Następnie musimy utworzyć obiekt z naszej klasy o nazwie „Car”. W tym celu musimy wrócić do klasy Main, która jest tworzona automatycznie przez Intellij, kiedy zaczynamy nowy projekt.
W tym celu klikamy dwukrotnie w „Main” w oknie projektu po lewej stronie:

możemy tutaj stworzyć obiekt na podstawie tamtego samochodu.