91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺談Java中static和非static的區別

發布時間:2020-08-26 14:50:05 來源:腳本之家 閱讀:241 作者:DayFight_DayUp 欄目:編程語言

關于static和非static變量的區別

1. static 修飾的變量稱為類變量或全局變量或成員變量,在類被加載的時候成員變量即被初始化,與類關聯,只要類存在,static變量就存在。非static修飾的成員變量是在對象new出來的時候劃分存儲空間,是與具體的對象綁定的,該成員變量僅為當前對象所擁有的。

2. static修飾的變量在加載的時候先于main方法加載在內存中的數據共享區-------方法區,而非static的變量在加載的時候,是要創建變量才加載在堆內存中的。

3. 一個static變量單獨劃分一塊存儲空間,不與具體的對象綁定在一起,該存儲空間被類的各個對象所共享。static變量值在方法區加載一次,而非static在創建對象時會加載很多次。每次創建都會拷貝一份。

4. 對象在引用成員變量是直接通過類名.變量名調用,對象在引用實例變量時只能通過對象名.變量名調用。

5. 在類中調用成員變量時直接調用或者以類名.變量名方式調用,實例變量則用this或者直接調用。

關于static方法和非static方法的區別

1. static修飾的方法也和static一樣。先于main方法被加載到方法區,以便共享使用。

2. 靜態的static方法中不能使用this或者super關鍵字,因為static方法是先于對象創建之前就已經加載的方法,是屬于類的方法,而this和super指向的是本類的對象或者父類的對象,非靜態的方法是屬于對象的,方法里可以用this和super。

3. static方法可以用對象.方法名來調用,也可以用類名.方法名來調用。而非靜態的方法只能創建對象后時調用。

4. static方法是加載一次,被所有的對象所共享。而非靜態方法是有多少個對象就拷貝多少次,每個對象只能調用自己的拷貝的方法。

5. 對象調用非靜態的方法時,不考慮線程安全性的問題,而調用靜態方法時,要考慮安全性的問題。因為靜態方法只有一份。而對象的方法是自己有自己的。

6. 同一個類中,靜態方法中只能訪問類中的靜態成員。而非靜態方法可以訪問非靜態的方法(使用類名調用,或者創創建本類的對象調用)。

總結

以上就是本文關于Java中static和非static的區別的全部內容,希望對大家有所幫助。感興趣的朋友可以參閱:Java單例模式實現靜態內部類方法示例、Java多線程ForkJoinPool實例詳解、淺談Java注解和動態代理等,有什么問題可以隨時留言,小編會及時回復大家的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

朝阳县| 毕节市| 德化县| 西青区| 建瓯市| 枣阳市| 江油市| 阳春市| 克山县| 新建县| 特克斯县| 板桥市| 遂溪县| 郯城县| 迁西县| 尼木县| 威海市| 册亨县| 临城县| 太湖县| 甘孜县| 漾濞| 汽车| 奉贤区| 滁州市| 锦州市| 宿州市| 梧州市| 聂拉木县| 海原县| 娱乐| 绥阳县| 县级市| 噶尔县| 子长县| 德庆县| 闽清县| 察隅县| 潜山县| 云南省| 宿松县|