Static member variables are initialized to 0 when the first object of the class is created, and this initialization happens only once. They are shared among all objects of the class and retain their values between object creations. They are not re-initialized to 1 each time, and they are not visible outside the class unless declared public.