成員變量:包括實例變量和類變量,用static修飾的是類變量,不用static修飾的是實例變量,所有類的成員變量可以通過this來引用。
類變量:靜態域,靜態字段,或叫靜態變量,它屬於該類所有實例共有的屬性。而且所有的實例都可以修改這個類變量的值(這個類變量沒有被final修飾的情況),而且訪問類變量的時候不用實例,直接用類名.的方式就可以。
成員方法:包括實例方法和類方法,用static的方法就是類方法,不用static修飾的就是實例方法。實例方法必須在創建實例之后才可以調用。
類方法:和類變量一樣,可以不用實例,直接用類就可以調用類方法。類方法這不是一個名詞,只是單純的類中描述的一個方法。加了static的方法,在程序中只運行一次,比如你兩次實例化對象了,但你實際上只調用了一次static標識的方法。
在定義類時,經常需要抽象出它的屬性,並定義在類的主體中。下面就來介紹與屬性相關的內容。
常量屬性
在類中定義的屬性有常量屬性和成員屬性之分。常量屬性用final關鍵字修飾,常量只能賦值一次,在程序中不能修改它的值。一般來說,在類中定義的常量屬性用大寫字母命名。
成員屬性
成員屬性是抽象出來的類屬性,成員屬性不能直接被外部訪問或修改,需要通過get和set方法來訪問或修改屬性值,成員屬性一般用private關鍵字修改,表明為私有成員,禁止外部直接訪問。
成員屬性的作用范圍為整個類文件,作用范圍就是成員屬性的有效工作范圍,在整個類文件中,成員屬性都可以被訪問和使用。
(1)使用默認值初始化
Java為聲明的成員屬性或變量提供了默認初始化機制,當聲明成員屬性或變量時即使沒有顯式賦值,Java也會為以下類型的成員屬性或變量提供默認值:
2)使用顯式值初始化
聲明成員屬性的同時,進行賦值。
3)使用類構造方法初始化
通過類構造方法來初始化屬性(類構造方法后面介紹)
成員變量
變量前面已經介紹過了,變量的主要作用是存儲程序運行過程中的臨時數據,程序退出后,變量存儲的內容不再存在。在類體中聲明的變量稱為成員變量。
成員變量的作用范圍為整個類文件,在整個類文件中,成員變量都可以被訪問和使用
與成員屬性不同的是,成員變量無需提供get和set方法。成員變量一般用於類內部存儲臨時數據使用。
局部變量
在類方法體中聲明的變量為局部變量。
局部變量的作用范圍為方法體,在方法體中,局部變量可以被訪問和使用,局部變量在方法體外無效,不能被訪問和使用。
Java類的成員屬性和成員變量有所區別,成員屬性是類所表述事物的共同特征,成員屬性不能被外部直接訪問和修改,必須通過類提供的get和set方法訪問和修改成員屬性。成員變量一般用於類內部存儲臨時數據使用,不需要提供get和set方法。
請說明類成員屬性、成員變量、局部變量的區別。