最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中static的特點(diǎn)

 更新時(shí)間:2017年03月23日 11:58:18   作者:小喬喬喬要加油  
本文主要介紹了Java中static的特點(diǎn)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧

前兩天面試時(shí)被問(wèn)到靜態(tài)的特點(diǎn),當(dāng)時(shí)回答地不是很好,現(xiàn)在來(lái)總結(jié)一下

在了解某樣?xùn)|西的時(shí)候我們通常會(huì)從它是什么,為什么,和怎么樣在三方面來(lái)衡量,對(duì)于java中的static,我們也這樣討論下,要明確以下幾點(diǎn):

1、 static在java中到底代表什么,為何要用它?

2、 static在java中怎么用?

3、 static 有那些特點(diǎn)和使用的“局限”?

4、當(dāng)成員變量被靜態(tài)修飾后,和非靜態(tài)成員變量的區(qū)別?

1、 static在java中到底代表什么,為何要用它?

static――靜態(tài)――“指定位置“

首先,我們來(lái)看看java的內(nèi)存:java把內(nèi)存分為棧內(nèi)存和堆內(nèi)存,棧內(nèi)存用來(lái)存放一些基本類(lèi)型的變量和數(shù)組及對(duì)象的引用變量,而堆內(nèi)存主要是來(lái)放置對(duì)象的。

用 static的修飾的變量和方法,實(shí)際上是指定了這些變量和方法在內(nèi)存中的“固定位置”-static storage。既然要有“固定位置”那么他們的 “大小”似乎就是固定的了,有了固定位置和固定大小的特征了,在棧中或堆中開(kāi)辟空間那就是非常的方便了。如果靜態(tài)的變量或方法在不出其作用域的情況下,其引用句柄是不會(huì)發(fā)生改變的。

我們??吹剑簊tatic變量有點(diǎn)類(lèi)似于C中的全局變量的概念;靜態(tài)表示的是內(nèi)存的共享,就是它的每一個(gè) 實(shí)例都指向同一個(gè)內(nèi)存地址。把static拿來(lái),就是告訴JVM它是靜態(tài)的,它的引用(含間接引用)都是指向同一個(gè)位置,在那個(gè)地方,你把它改了,它就不會(huì)變成原樣,你把它清理了,它就不會(huì)回來(lái)了。

注:java的主類(lèi)中main()方法本身就是一個(gè)static的,所以main方法的執(zhí)行就是在沒(méi)有產(chǎn)生新的實(shí)例的情況。

2、 static在java中怎么用?

  • static是一個(gè)修飾符,用于修飾成員(成員變量和成員函數(shù))。
  • 當(dāng)成員被靜態(tài)修飾后,就多了一個(gè)調(diào)用方式,除了可以被對(duì)象調(diào)用外,還可以直接被類(lèi)名調(diào)用:類(lèi)名.靜態(tài)成員。

3、 static 有那些特點(diǎn)和使用的“局限”?

(一)特點(diǎn)

  • 靜態(tài)成員隨著類(lèi)的加載而加載;
  • 靜態(tài)成員優(yōu)先于對(duì)象存在;
  • 靜態(tài)成員被所有對(duì)象所共享;
  • 靜態(tài)成員多了一個(gè)中調(diào)用方式,可以被類(lèi)名直接調(diào)用。

(二)利弊

利:

  • 對(duì)對(duì)象的共享數(shù)據(jù)進(jìn)行單獨(dú)空間的存儲(chǔ),節(jié)省空間,沒(méi)有必要每一個(gè)對(duì)象中都存儲(chǔ)一份;
  • 可以直接被類(lèi)名調(diào)用。

弊:

  • 生命周期過(guò)長(zhǎng);
  • 訪(fǎng)問(wèn)出現(xiàn)局限性,只能訪(fǎng)問(wèn)靜態(tài)。

(三)注意事項(xiàng)

  • 靜態(tài)方法只能訪(fǎng)問(wèn)靜態(tài)成員, 非靜態(tài)方法既可以訪(fǎng)問(wèn)靜態(tài)又可以訪(fǎng)問(wèn)非靜態(tài);
  • 靜態(tài)方法中不可以定義this,super關(guān)鍵字;(因?yàn)閠his代表是對(duì)象,而靜態(tài)存在時(shí),有可能沒(méi)有對(duì)象,且靜態(tài)優(yōu)先于對(duì)象存在。所以靜態(tài)方法運(yùn)行時(shí),this是沒(méi)有任何對(duì)象代表的。 簡(jiǎn)單說(shuō),先進(jìn)內(nèi)存的數(shù)據(jù)不可以訪(fǎng)問(wèn)后進(jìn)內(nèi)存的數(shù)據(jù),可是后進(jìn)內(nèi)存數(shù)據(jù)可以訪(fǎng)問(wèn)先進(jìn)內(nèi)存的數(shù)據(jù))
  • 主函數(shù)是靜態(tài)的

4、當(dāng)成員變量被靜態(tài)修飾后,和非靜態(tài)成員變量的區(qū)別?

  • 靜態(tài)變量也稱(chēng)為類(lèi)變量,也就是直接可以被類(lèi)名調(diào)用的變,這個(gè)變量是所屬于類(lèi)的;非靜態(tài)變量稱(chēng)為成員變量,或者實(shí)例變量,是被對(duì)象調(diào)用的,是所屬具體對(duì)象的。
  • 靜態(tài)變量隨著類(lèi)的加載而加載,也意味著隨著類(lèi)的消失而消失,生命周期最長(zhǎng);實(shí)例變量,隨著對(duì)象的創(chuàng)建而加載,隨著對(duì)象的消失而消失,按照對(duì)象的生命周期而存在。
  • 靜態(tài)變量存儲(chǔ)在方法區(qū)的靜態(tài)區(qū)中;實(shí)例變量存在于對(duì)象所屬的堆內(nèi)存中。
  • 靜態(tài)變量數(shù)據(jù),被所有對(duì)象所共享;實(shí)例變量是對(duì)象中的特有數(shù)據(jù)。

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • Java編程實(shí)現(xiàn)鄰接矩陣表示稠密圖代碼示例

    Java編程實(shí)現(xiàn)鄰接矩陣表示稠密圖代碼示例

    這篇文章主要介紹了Java編程實(shí)現(xiàn)鄰接矩陣表示稠密圖代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • JAVA輸出流與輸入流代碼實(shí)例

    JAVA輸出流與輸入流代碼實(shí)例

    這篇文章主要介紹了JAVA輸出流與輸入流代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Java實(shí)現(xiàn)文件檢索系統(tǒng)的示例代碼

    Java實(shí)現(xiàn)文件檢索系統(tǒng)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何劉Java語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易的文件檢索系統(tǒng),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java開(kāi)發(fā)有一定的幫助,需要的可以參考一下
    2022-07-07
  • jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線(xiàn)上問(wèn)題及處理方案

    jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線(xiàn)上問(wèn)題及處理方案

    這篇文章主要介紹了jar包運(yùn)行一段時(shí)間后莫名其妙掛掉線(xiàn)上問(wèn)題及處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Intellij IDEA安裝lombok插件及使用詳解

    Intellij IDEA安裝lombok插件及使用詳解

    今天小編就為大家分享一篇關(guān)于Intellij IDEA安裝lombok插件及使用詳解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Java簡(jiǎn)單實(shí)現(xiàn)SpringMVC+MyBatis分頁(yè)插件

    Java簡(jiǎn)單實(shí)現(xiàn)SpringMVC+MyBatis分頁(yè)插件

    自己最近搭建的一個(gè)SpringMVC+Mybatis的框架 屬于無(wú)實(shí)體類(lèi)的框架 并實(shí)現(xiàn)了Myabtis的自動(dòng)分頁(yè)和總數(shù)查詢(xún) 只要傳入分頁(yè)參數(shù)便能自動(dòng)查詢(xún)總數(shù)和分頁(yè) 總數(shù)封裝在參數(shù)里面執(zhí)行查詢(xún)后可以直接從參數(shù)中獲取
    2015-09-09
  • Activiti7與Spring以及Spring Boot整合開(kāi)發(fā)

    Activiti7與Spring以及Spring Boot整合開(kāi)發(fā)

    這篇文章主要介紹了Activiti7與Spring以及Spring Boot整合開(kāi)發(fā),在Activiti中核心類(lèi)的是ProcessEngine流程引擎,與Spring整合就是讓Spring來(lái)管理ProcessEngine,有感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • 詳解JAVA中接口的定義和接口的實(shí)現(xiàn)

    詳解JAVA中接口的定義和接口的實(shí)現(xiàn)

    這篇文章主要介紹了JAVA中接口的定義和接口的實(shí)現(xiàn),文中講解非常細(xì)致,配合代碼更好的幫大家學(xué)習(xí)參考,感興趣的朋友可以了解下
    2020-06-06
  • Java實(shí)現(xiàn)根據(jù)模板自動(dòng)生成新的PPT

    Java實(shí)現(xiàn)根據(jù)模板自動(dòng)生成新的PPT

    這篇文章主要介紹了如何利用Java代碼自動(dòng)生成PPT,具體就是查詢(xún)數(shù)據(jù)庫(kù)數(shù)據(jù),然后根據(jù)模板文件(PPT),將數(shù)據(jù)庫(kù)數(shù)據(jù)與模板文件(PPT),進(jìn)行組合一下,生成新的PPT文件。感興趣的可以了解一下
    2022-02-02
  • SpringBoot3集成Swagger3的詳細(xì)教程

    SpringBoot3集成Swagger3的詳細(xì)教程

    Swagger 3(OpenAPI 3.0)提供了更加強(qiáng)大和靈活的API文檔生成能力,本教程將指導(dǎo)您如何在Spring Boot 3項(xiàng)目中集成Swagger3,并使用Knife4j作為UI界面,需要的朋友可以參考下
    2024-03-03

最新評(píng)論

岗巴县| 赞皇县| 岳阳县| 万源市| 祁阳县| 淮安市| 同心县| 西平县| 东辽县| 宣汉县| 金华市| 浦县| 绍兴市| 蒙自县| 东乌珠穆沁旗| 汝城县| 页游| 灵山县| 商南县| 汪清县| 西峡县| 甘泉县| 漯河市| 永川市| 成安县| 南京市| 东海县| 灌云县| 临邑县| 儋州市| 开阳县| 独山县| 卓资县| 四子王旗| 会昌县| 连州市| 麻栗坡县| 河北区| 佛学| 股票| 达尔|