国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【Java】java static標識符引發的思考

2019-11-14 09:21:31
字體:
來源:轉載
供稿:網友

學習的關鍵不在記住語法,而要去思考設計者為什么要發明這個語法或標識。

拿static來舉例,static是用來修飾類的成員變量和成員函數的,只要修飾了成員變量,那么該成員變量會被所有該類創建出的實例所共享,可是為什么要弄個成員變量給所有實例共享呢?每個對象都有自己的不也行嗎。問題繼續往下走,我們拿Person來舉例。

class Person(){ String name; Static String country="china";}Person p1=new Person();Person p2=new Person();Person.country;p1.country;

創建2個Person類的實例,每個實例所特有的name將各自創建一份,而country將單獨放在內存當中的數據共享區,既然是每個Person對象的國家都是中國,那么,如果把country變量給每個Person實例都創建一份,將浪費內存空間。因此,把共有的成員變量放在公共數據區。

接下來分析下static修飾過的成員變量的特性: 1.隨著類的加載而加載 2.它可以被類名調用或者類對象調用 3.在類的對象被實例化之前就已經存在 4.當static修飾成員函數的時候,只能在該函數中調用靜態成員變量。(很簡單,舉個反例,靜態成員函數也是在類對象實例化之前存在的,若在該函數中,出現this.name,此時this不是任何對象,因為壓根還沒被實例化,所以出現非靜態變量name是錯誤的。)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灵丘县| 松原市| 峨眉山市| 朝阳县| 六盘水市| 江川县| 保靖县| 宾阳县| 绥滨县| 神农架林区| 东丰县| 贵港市| 鄢陵县| 旺苍县| 仙桃市| 蒲江县| 双牌县| 民权县| 朝阳县| 佛山市| 伊川县| 延庆县| 定结县| 横峰县| 东台市| 延长县| 阿尔山市| 金山区| 洪湖市| 河池市| 德保县| 连平县| 武功县| 万州区| 肇庆市| 荃湾区| 咸丰县| 景洪市| 加查县| 文化| 新巴尔虎左旗|