Java教程 Java語言中static修飾符有什么用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創新互聯主營鐵嶺縣網站建設的網絡公司,主營網站建設方案,app開發定制,鐵嶺縣h5微信小程序定制開發搭建,鐵嶺縣網站營銷推廣歡迎鐵嶺縣等地區企業咨詢
在Java類中,我們常常會看到static關鍵字,往往被稱為靜態的。Static修飾符可以用來修飾數據成員,方法成員,但是不能修飾類(此處指外部類),不能修飾構造方法。如:
package com.csst.vo; public class User { private String name; private static int count; public String getName() { return name; } public void setName(String name) { this.name = name; } public static int getCount() { return count; } public static void main(String[] args){ User user1=new User(); User user2=new User(); user1.setName("Rose"); user2.setName("Kate"); user1.count=10; user2.count=20; System.out.println("user1.name:"+user1.getName()+" user2.name:"+user2.getName()); System.out.println("user1.count:"+User.getCount()+"user2.count:"+user2.count); } }
該程序運行結果為:
user1.name:Rose user2.name:Kate user1.count:20 user2.count:20
我們可以發現,user1和user2的name屬性是不同的,分別為該對象調用setName所指定的,而雖然user1和user2分別對count屬性指定了不同的值,但是最終輸出的count值卻均為20。原因就是count被static修飾,而name沒有使用count修飾。
被static修飾符修飾的數據成員或方法成員被稱為靜態成員,或者類成員,沒有被static修飾的,被稱為實例成員。static成員只被初始化一次,所有的對象共享,因此count會輸出兩個20。實例成員只有當初始化對象的時候才初始化,每次創建對象,都會被初始化一次。name在user1和user2被創建時,初始化了2次,因此最終輸出的是Rose和Kate。
另外,static成員,由于是類共享的,所以不僅可以使用對象調用,也可以使用類名調用。在static方法中,不能夠直接使用非靜態的成員,如果使用,必須初始化對象,調用。如過在上面示例的User.java中有如下代碼,會發生編譯錯誤。
public static void test(){ setName("test"); }
可以修改如下:
public static void test(){ User user=new User(); user.setName("test"); }
看完上述內容,你們掌握Java教程 Java語言中static修飾符有什么用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!
網站題目:Java教程Java語言中static修飾符有什么用
網站URL:http://vcdvsql.cn/article38/gjespp.html
成都網站建設公司_創新互聯,為您提供虛擬主機、動態網站、品牌網站制作、軟件開發、響應式網站、微信公眾號
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯