CodeGym /Kursy /Składnia Java /Klasy i metody statyczne

Klasy i metody statyczne

Składnia Java
Poziom 6 , Lekcja 7
Dostępny

Oprócz metod statycznych mamy także statyczne klasy. Bardziej szczegółowo omówimy je później. Teraz pokażę Ci pewien przykład:

Przykład:
public class PrzykladKlasyStatycznej
{
    private static int licznikKotow = 0;

    public static void main(String[] args) throws Exception
    {
        Kot bella = new Kot("Bella");
        Kot tytus = new Kot("Tytus");

        System.out.println("Licznik kotów " + licznikKotow);
    }

     public static class Kot
    {
        private String imie;

        public Kot(String imie)
         {
            this.imie = imie;
            PrzykladKlasyStatycznej.licznikKotow++;
         }
     }

}

Możesz utworzyć tyle obiektów klasy Kot, ile tylko chcesz. Ze zmienną statyczną jest inaczej. Istnieje tylko jedna kopia tej zmiennej.

– Głównym celem używania modyfikatora statycznego w deklaracji klasy jest kontrola relacji pomiędzy klasami Kot i PrzykladKlasyStatycznej. Chodzi o to, że klasa Kot nie jest połączona z obiektami PrzykladKlasyStatycznej – nie można uzyskać dostępu do zmiennych instancji (niestatycznych) klasy PrzykladKlasyStatycznej.

– Czyli mogę tworzyć klasy wewnątrz klas?

– Tak. Jest to w Javie możliwe, ale nie myśl teraz o tym. Kiedyś Ci to wytłumaczę, nie martw się.

– Mam taką nadzieję, Raszi.

Komentarze (4)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Mateusz Poziom 15, Poland, Poland
25 maja 2022
Ja nic z tego nie rozumiem może jak będzie kilka ćwiczeń to coś załapie
Michał Poziom 2, Gdańsk, Poland Expert
9 lutego 2023
Niestety mam tak samo. Widzę że jesteś już na 15 poziomie. Załapałeś ?
Anonymous #11274698 Poziom 8, Gorzow Wielkopolski, Poland
17 czerwca 2023
Jak tu dotarłeś mając poziom 0?
Anonymous #11274698 Poziom 8, Gorzow Wielkopolski, Poland
17 czerwca 2023
Chyba chodzi o to: 1.Możemy mieć dowolną ilość referencji do tej samej niestatycznej klasy 2.Zmienna statyczna może powstać tylko jedna i być używana w (chyba) każdym miejscu w kodzie 3. Klasa statyczna nie może operować na danych z klasy niestatycznej i na odwrót