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

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

Java_靜態方法中調用非靜態方法

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

我們都知道靜態方法中不能直接調用非靜態方法,準確來說不能直接調用,可以通過將一個對象的引用傳入到靜態方法中,在去調用該對象的非靜態方法; class Test2{ public void method2(){ System.out.PRintln(“HelloWord2”); } } class test{ public void method0(){ System.out.println(“HelloWord0”); } public static void method1(){ System.out.println(“HelloWord1”); }

public static void main(String[] args){new test().method0();new Test2().method2();method1();

} } 打印結果: HelloWord0; HelloWord1; HelloWord2;

總結: 首先static的成員是在類加載的時候初始化的,JVM的CLASSLOADER的加載,首次主動使用加載,而非static的成員是在創建對象的時候,即new 操作的時候才初始化的;

先后順序是先加載,才能初始化,那么加載的時候初始化static的成員,此時非static的成員還沒有被加載必然不能使用,而非static的成員是在類加載之后,通過new操作符創建對象的時候初始化,此時static 已經分配內存空間,所以可以訪問!

簡單點說:靜態成員屬于類,不需要生成對象就存在了.而非靜態需要生成對象才產生.所以靜態成員不能直接訪問非靜態.

下面說說靜態的特點:

1.隨著類的加載而加載

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

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

靜態的使用注意事項: 1.靜態方法只能訪問靜態成員(包括成員變量和成員方法) 非靜態方法可以訪問靜態也可以訪問非靜態 2.靜態方法中不可以定義this,super關鍵字 因為靜態優先于對象存在,所以靜態方法中不可以出現this,super關鍵字 3.主函數是靜態的。

靜態的利弊 利:對對象的共享數據進行單獨空間的存儲,節省空間,沒有必要每一個對象中都存儲一份 可以直接被類名所調用 弊:生命周期過長,訪問出現局限性(只能訪問靜態)


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 革吉县| 台北市| 邯郸县| 白玉县| 扎鲁特旗| 金阳县| 革吉县| 博爱县| 栾川县| 桑植县| 德化县| 邯郸市| 武隆县| 邛崃市| 明溪县| 尼玛县| 梁平县| 牙克石市| 垫江县| 哈密市| 星子县| 镇宁| 南汇区| 华池县| 和林格尔县| 潞城市| 诸城市| 泾阳县| 黔东| 尼勒克县| 江山市| 鸡东县| 阜阳市| 樟树市| 浏阳市| 宿州市| 岑巩县| 台东市| 白山市| 嘉峪关市| 桂东县|