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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

java中靜態(tài)方法中調(diào)用非靜態(tài)方法

2019-11-14 12:15:18
字體:
供稿:網(wǎng)友

我們都知道,靜態(tài)static方法中不能調(diào)用非靜態(tài)(non-static)方法,準(zhǔn)確地說是不能直接調(diào)用non-static方法。但是可以通過將一個(gè)對象的引用傳入static方法中,再去調(diào)用該對象的non-static方法。 其實(shí)這個(gè)事實(shí)的應(yīng)用很經(jīng)常,以至于我們不去重視:在主函數(shù)(static方法)中我們經(jīng)常創(chuàng)建某個(gè)類的實(shí)例,再利用其引用變量調(diào)用它的非靜態(tài)方法。

class Test2{ public void method2(){ System.out.打印結(jié)果: HelloWorld0 HelloWorld1 HelloWorld2

總結(jié):

首先static的成員是在類加載的時(shí)候初始化的,JVM的CLASSLOADER的加載,首次主動(dòng)使用加載,而非static的成員是在創(chuàng)建對象的時(shí)候,即new 操作的時(shí)候才初始化的; 先后順序是先加載,才能初始化,那么加載的時(shí)候初始化static的成員,此時(shí)非static的成員還沒有被加載必然不能使用,而非static的成員是在類加載之后,通過new操作符創(chuàng)建對象的時(shí)候初始化,此時(shí)static 已經(jīng)分配內(nèi)存空間,所以可以訪問! 簡單點(diǎn)說:靜態(tài)成員屬于類,不需要生成對象就存在了.而非靜態(tài)需要生成對象才產(chǎn)生.所以靜態(tài)成員不能直接訪問非靜態(tài).

下面說說靜態(tài)的特點(diǎn):

1.隨著類的加載而加載

也就是,說靜態(tài)會隨著類的消失而消失,說明靜態(tài)的生命周期最長 2.優(yōu)先于對象的存在 明確一點(diǎn):靜態(tài)是先存在的對象是后存在的 3.被所有對象共享 4.可以直接被類名所調(diào)用

實(shí)例變量和類變量的區(qū)別 1.存放位置 類變量隨著類的加載存在于方法區(qū)中,實(shí)例變量隨著對象的對象的建立存在于堆內(nèi)存里 2.生命周期 類變量生命周期最長,隨著“類”的加載而加載,隨著類的消失而消失,實(shí)例變量隨著“對象”的消失而消失

靜態(tài)的使用注意事項(xiàng): 1.靜態(tài)方法只能訪問靜態(tài)成員(包括成員變量和成員方法) 非靜態(tài)方法可以訪問靜態(tài)也可以訪問非靜態(tài) 2.靜態(tài)方法中不可以定義this,super關(guān)鍵字 因?yàn)殪o態(tài)優(yōu)先于對象存在,所以靜態(tài)方法中不可以出現(xiàn)this,super關(guān)鍵字 3.主函數(shù)是靜態(tài)的。

靜態(tài)的利弊 利:對對象的共享數(shù)據(jù)進(jìn)行單獨(dú)空間的存儲,節(jié)省空間,沒有必要每一個(gè)對象中都存儲一份 可以直接被類名所調(diào)用 弊:生命周期過長,訪問出現(xiàn)局限性(只能訪問靜態(tài))


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 白山市| 康定县| 新丰县| 云南省| 女性| 合作市| 德昌县| 屏山县| 双峰县| 沂南县| 离岛区| 南城县| 千阳县| 盈江县| 华坪县| 稻城县| 南阳市| 兴宁市| 顺义区| 湾仔区| 西昌市| 宁波市| 阿合奇县| 长春市| 中卫市| 淅川县| 南部县| 长宁区| 新田县| 大英县| 疏附县| 朝阳市| 桐城市| 苍南县| 金湖县| 伊吾县| 岑溪市| 若羌县| 崇明县| 平昌县| 平邑县|