本篇內(nèi)容介紹了“Java語言的static修飾符有什么作用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!
10年的富源網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整富源建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“富源網(wǎng)站設(shè)計”,“富源網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
在Java類中,我們常常會看到static關(guān)鍵字,往往被稱為靜態(tài)的。Static修飾符可以用來修飾數(shù)據(jù)成員,方法成員,但是不能修飾類(此處指外部類),不能修飾構(gòu)造方法。如:
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); } }
該程序運行結(jié)果為:
user1.name:Rose user2.name:Kate user1.count:20 user2.count:20
我們可以發(fā)現(xiàn),user1和user2的name屬性是不同的,分別為該對象調(diào)用setName所指定的,而雖然user1和user2分別對count屬性指定了不同的值,但是最終輸出的count值卻均為20。原因就是count被static修飾,而name沒有使用count修飾。
被static修飾符修飾的數(shù)據(jù)成員或方法成員被稱為靜態(tài)成員,或者類成員,沒有被static修飾的,被稱為實例成員。static成員只被初始化一次,所有的對象共享,因此count會輸出兩個20。實例成員只有當初始化對象的時候才初始化,每次創(chuàng)建對象,都會被初始化一次。name在user1和user2被創(chuàng)建時,初始化了2次,因此最終輸出的是Rose和Kate。
另外,static成員,由于是類共享的,所以不僅可以使用對象調(diào)用,也可以使用類名調(diào)用。在static方法中,不能夠直接使用非靜態(tài)的成員,如果使用,必須初始化對象,調(diào)用。如過在上面示例的User.java中有如下代碼,會發(fā)生編譯錯誤。
public static void test(){ setName("test"); }
可以修改如下:
public static void test(){ User user=new User(); user.setName("test"); }
“Java語言的static修飾符有什么作用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!