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

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

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

2019-11-14 08:44:38
字體:
來源:轉載
供稿:網友

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

拿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是錯誤的。)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 库伦旗| 从江县| 永宁县| 武义县| 浪卡子县| 霸州市| 元阳县| 象山县| 清新县| 精河县| 九江市| 镇巴县| 丰宁| 延寿县| 永昌县| 鹤岗市| 平度市| 锦屏县| 蚌埠市| 绵阳市| 城步| 北安市| 湛江市| 慈利县| 航空| 仙游县| 揭东县| 宕昌县| 璧山县| 阿图什市| 大连市| 桐庐县| 余姚市| 漳州市| 沙田区| 大连市| 阳曲县| 涪陵区| 安徽省| 皮山县| 阿鲁科尔沁旗|