Zmienne stałe deklarujesz poprzez const. Oznacza to ze nie mozesz zmienić raz przypisanej wartości do zmiennej. W definicji funkcji zmienne oznaczone jako const to informacja dla kompilatora ze nie mogą one być zmienione w ciele funkcji.
Co do static. Pola statyczne mają to do siebie, że nie są polem bezpośrednio jakiegoś konkretnego obiektu (instancji) a są wspólne dla obiektów wszystkich klas. Dla przykładu funkcja statyczna klasy będzie wspólna dla wszystkich obiektów, tzn. Że jest zawarta w danej klasie ale do jej wywołania nie potrzebujemy konkretnej instancji obiektu.
Z pól statycznych należy korzystać mądrze, wrzucanie ich "na pałe" w kod żeby działało to nie jest dobre rozwiązanie
Edit: przepraszam nie zauważyłem ze chodzi o jave. Myślałem że pytasz o cpp