靜態變量和成員變量的區別:
????1、成員變量描述的是對象的特征,包含在對象之中。不同的對象成員變量彼此獨立。一個對象成員變量的改變,不會影響其他對象。
? ? ? ? 靜態變量獨立在對象之外,是所有對象共享的變量。靜態變量改變后會影響所有對象。
? ? 2、成員變量只能通過對象.的方式訪問。而靜態變量,可以通過對象.的方式訪問,也可以通過類名.的方式訪問。所以靜態變量也稱為類變量
? ? 3、成員變量存放在堆空間中,靜態變量存放在數據段中。
?
靜態方法和成員方法的區別:
?
? ? 1、靜態方法加載時機在對象之前,可以通過對象.和類名.的方式訪問。而成員方法只能通過對象.的方式訪問。
?
? ? 2、靜態方法不能直接訪問成員變量和成員方法。成員方法可以訪問成員變量和靜態變量
垃圾回收機制:
??虛擬機進行垃圾回收時,回收的是沒有被變量指向的對象。該過程程序員無法控制。但是可以通過調用System.gc(),加快垃圾回收的速度。
?
變量按作用域分,分為三種:
?
? ? ? 1、局部變量,存放在棧空間中,書寫在方法或語句塊中。語句塊一結束,變量空間馬上釋放。所以,局部變量不能跨方法或語句塊使用。
?
? ? ? 2、成員變量(屬性):存放在堆中,書寫在方法外,類中。隨對象產生而產生,隨對象銷毀而消失。
?
? ? ? 3、靜態變量(類變量):存放在數據段中,書寫在方法外,類中。加上static修飾符。常駐內存,不會消失。
?
重載概念:
? ? ? 重載發生在同一個類中,兩個方法的方法名相同,參數列表不同(參數類型、參數個數參數位置),和返回類型無關。調用方法時。根據方法的參數來決定執行哪個方法。
包:
? ?就是文件夾,通過package定義該類所在的包。
包的作用:
? ? ?1.可以組織相關的類
? ? ?2.可以做到信息隱藏。即去掉public后,類不能被其他包調用
? 如果一個包中的類,要想訪問別的包中的類,可以通過import,導入該類。下面兩種包中的類無需導入可以直接使用。
? ? ? ?1.本包中的類
? ? ? ?2.、java.lang包中的類
?
?
?
?