Java中static关键字有什么用?
將static放在一個(gè)成員變量聲明前,可將其變?yōu)殪o態(tài)變量,放在方法聲明前就變?yōu)殪o態(tài)方法
被static修飾的變量屬于類變量,可以通過(guò)類名.變量名直接引用,而不需要new出一個(gè)類來(lái)
被static修飾的方法屬于類方法,可以通過(guò)類名.方法名直接引用,而不需要new出一個(gè)類來(lái)
那么這個(gè)靜態(tài)有什么用呢?
靜態(tài)變量屬于整個(gè)類,一個(gè)靜態(tài)變量永遠(yuǎn)只有一個(gè)存儲(chǔ)空間,換言之,一個(gè)類的多個(gè)對(duì)象使用的靜態(tài)變量是同一個(gè),修改一個(gè)對(duì)象的靜態(tài)變量會(huì)導(dǎo)致其他對(duì)象的靜態(tài)變量發(fā)生同樣的變化。
而且,靜態(tài)變量和靜態(tài)方法可以直接訪問(wèn)。
class Value{static int a=0;int b=0;void add(){a++;d++;} }class Demo{public static void print(String s){System.out.println("s");}public static void main(String[] args){Value v1,v2;v1 = new Value();v2 = new Value();show(“”+v1.a+","+v2.a+","+v1.b+","+v2.b);v1.add();show(“”+v1.a+","+v2.a+","+v1.b+","+v2.b);} }輸出:
0,0,0,0
1,1,1,0
很明顯雖然只對(duì)v1進(jìn)行了增加,v2.a同樣增加了,因?yàn)閍被定義成了靜態(tài)變量,對(duì)v1的a進(jìn)行增加后,v2調(diào)用的是這個(gè)被修改后的a。
換言之,靜態(tài)變量a是一個(gè)共有賬戶,v1這個(gè)用戶往里面充了錢后,v2去看賬戶里有多少錢時(shí)看的也是這個(gè)賬戶,那么顯示出來(lái)的自然也是修改后的金額。
總結(jié)
以上是生活随笔為你收集整理的Java中static关键字有什么用?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java中this的简单应用
- 下一篇: python一般用什么软件写_pytho