static的特色:spa
1.static是一個修飾符,用於修飾成員;code
2.static修飾的成員被全部的對象所共享;對象
3.static優先於對象存在,由於static的成員隨着類的加載就已經存在了;blog
4.static修飾的成員多了一種調用方式,就能夠直接被類名所調用。(類名.靜態成員)生命週期
5.static修飾的數據是共享數據,對象中存儲的是特有數據;內存
舉例:教室裏有一臺飲水機和50名學生,每一個學生都有自帶水杯。class
這臺飲水機就能夠用static修飾,優先於水杯這個對象而出如今這個教室,且屬於共享數據,而水杯倒是特有數據。變量
1 class Person 2 { 3 String name;//成員變量(實例變量) 4 static String country="CN";//靜態變量(類變量) 5 public void show(); 6 { 7 System.out.println(name+":"+country); 8 } 9 }
成員變量和靜態變量的區別:方法
1.兩個變量的生命週期不一樣數據
成員變量隨着對象的建立而存在,隨着對象的被回收而釋放;
靜態變量隨着類的加載而存在,隨着類的消失而消失;
2.調用方式不一樣
成員變量只能被對象調用;
靜態變量能被對象調用,還能被類名調用;
3.別名不一樣
成員變量也稱爲實例變量;
靜態變量被稱爲類變量;
4.數據存儲位置不一樣
成員變量數據存儲在堆內存的對象中,因此也叫對象的特有數據;
靜態變量數據存儲在方法區的靜態區,因此也叫對象的共享數據;