国产探花免费观看_亚洲丰满少妇自慰呻吟_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是錯誤的。)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿城市| 汪清县| 娄烦县| 西峡县| 安溪县| 介休市| 微山县| 若尔盖县| 申扎县| 伊春市| 湘潭市| 竹溪县| 嘉兴市| 太仆寺旗| 凯里市| 武冈市| 综艺| 大渡口区| 津市市| 建水县| 商洛市| 娄底市| 会东县| 搜索| 泾川县| 瑞昌市| 饶平县| 招远市| 大邑县| 浦江县| 修文县| 民和| 将乐县| 应城市| 五莲县| 内丘县| 铅山县| 绵阳市| 绵阳市| 新建县| 大关县|