天天看點

static 與非static修飾的差別

請簡述static 與非static修飾的差別

  1. 作用在方法上,方法的差別:static方法屬于類,不屬于類的執行個體對象,而非static方法屬于類的執行個體對象,不屬于類,static方法不需要執行個體對象就可以通過類名調用,且static方法中不能有執行個體成員(即執行個體方法或執行個體變量),而非static方法中可以以後static成員(即static方法,和static變量)
  2. 作用在變量上:static變量屬于類,非static變量屬于執行個體對象或者是局部變量,static變量可以用類名引用,而非static方法隻能建立這個類的執行個體對象才能引用(即使用).
  3. 作用在類上: static類中知隻能有static成員,不能有非static成員,而非static類可以由static成員也可以有非static成員.
  4. 總結,static修飾的方法,變量都屬于該類本身,是該類所有,該類的執行個體也可以通路static修飾的成員,但是不同執行個體對象中通路的static成員是同一個(在同一程式中)…是以說static成員在一個程式中是獨一無二的,他屬于類,而類在程式中隻能有一個類(可以由多個類的執行個體對象),是以程式中的static成員永遠是同一個!