成員變量、局部變量、靜態變量的區別
|
成員變量 |
局部變量 |
靜態變量 |
定義位置 |
在類中,方法外 |
方法中,或者方法的形式參數 |
在類中,方法外 |
初始化值 |
有默認初始化值 |
無,先定義,賦值後才能使用 |
有默認初始化值 |
調用方式 |
對象調用 |
--- |
對象調用,類名調用 |
存儲位置 |
堆中 |
棧中 |
方法區 |
生命週期 |
與對象共存亡 |
與方法共存亡 |
與類共存亡 |
別名 |
實例變量 |
--- |
類變量 |
變量就是申請內存來存儲值。也就是說,當創建變量的時候,需要在內存中申請空間。
內存管理系統根據變量的類型爲變量分配存儲空間,分配的空間只能用來儲存該類型數據。
因此,通過定義不同類型的變量,可以在內存中儲存整數、小數或者字符。
Java 的兩大數據類型:
- 內置數據類型
- 引用數據類型
內置數據類型
Java語言提供了八種基本類型。六種數字類型(四個整數型,兩個浮點型),一種字符類型,還有一種布爾型。
引用類型
- 在Java中,引用類型的變量非常類似於C/C++的指針。引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時被指定爲一個特定的類型,比如 Employee、Puppy 等。變量一旦聲明後,類型就不能被改變了。
- 對象、數組都是引用數據類型。
- 所有引用類型的默認值都是null。
- 一個引用變量可以用來引用任何與之兼容的類型。
- 例子:Site site = new Site("Runoob")。
原始類型:boolean,char,byte,short,int,long,float,double。
包裝類型:Boolean,Character,Byte,Short,Integer,Long,Float,Double。
Java的八種基本類型:(按字節來分)
boolean 布爾型 1個字節 8bit(8位)
byte 字節類型 1個字節
char 字符類型 2個字節
short 短整型 2個字節
int 整型 4個字節
float 浮點型(單精度)4個字節
long 長整型 8個字節
double 雙精度類型 8個字節
Java中默認的整數類型是int,如果要定義爲long ,則要在數值後加上L或者l
默認的浮點型是雙精度浮點,如果要定義float,則要在數值後面加上f或者F
一個字節等於8位,1個字節等於256個數。2^8
一個英文字母或者阿拉伯數字佔一個字節
一個漢字佔2個字節
隱含強制類型轉換
-
1. 整數的默認類型是 int。
-
2. 浮點型不存在這種情況,因爲在定義 float 類型時必須在數字後面跟上 F 或者 f。