類的組成
類是什麼?
類是具有相同特性和行爲的對象集合。
eg:
人類是一個類
其中,分爲 四大人種:亞洲人種(黃種人)、高加索人種(白種人)、非洲人種(黑種人)、大洋洲人種(棕種人)
共同特性~~emmmm (壞笑) 當然都是人啦
至於行爲的話,可以是說話,眨眼睛等等。
類由什麼成分組成?
Java類由五大部分組成:
- 成員變量/Field域
- 方法(method)
- 構造器
- 代碼塊
- 內部類
定義語法格式
類:
[修飾符] class 類名 {….類體 …..}
eg:public class yun(){}
注意:類的修飾符可以是public、final 或省略這兩個。類名只要是合法的標識符即可。
一個類裏可以包含三種最常見的成員:構造器、屬性、方法、代碼塊、內部類。
類可分爲
-
外部類
-
內部類
- 靜態內部類
- 非靜態內部類
- 局部內部類
(1)至於內部類的話,只要A類是在B類裏面定義的,那麼A便是B的內部類。
(2)區分的是不是靜態類的話,看有沒有用staic修飾即可。
(3)局部內部類:
如果把一個內部類放在方法裏定義,這就是局部內部類,僅僅在這個方法裏有效。
局部內部類不能在外部類以外的地方使用,那麼局部內部類也不能使用訪部控制符和static修飾
成員變量
[修飾符] 屬性類型 屬性名 [=屬性值];
eg: String nam=”yun”; 或 String name ; 此處默認值爲null 後面再給name賦值 name = “落筆”;
此處應有局部變量。那麼見名知意,就明白它們的命名規則都一樣。不過大家的範圍大小不同。
成員變量指的是在類範圍裏定義的變量;局部變量指的是在一個方法內定義的變量。
局部變量可分爲:
- 形參
- 方法局部變量
- 代碼塊局部變量.
~~emmm此處見名知意吧(壞笑)
方法
[修飾符] 方法返回值類型 方法名(形參列表) {….方法體….}
eg: public static void main(String[] args ){}
方法中的修飾符可以是public ,protected,private,static,final,abstract,其中訪問控制符(public ,protected,private)只能出現一個,abstract ,final 只能出現其一.
返回值類型可以是基本類型和引用類型,如果無返回值,要用void 來聲明
形參列表,可以由零到多個組成,參數之間用逗號(“,”)隔開.
static 是一個特殊的關鍵字,譯爲”靜態”,所有有static 修飾的叫類屬性,類方法,類成員.
構造器
[修飾符] 構造器名(形參列表) {……}
修飾符可以是public protected private 構造器名字必須和類名相同,形參和方法的形參一樣
構造器通常用來new對象。
注意: 靜態變量以及非靜態變量的區別
- 靜態變量可以直接使用類名去調用,當然也可以通過對象去調用。
- 非靜態變量只能通過對應引用進行調用。
- 靜態變量不能訪問非靜態變量。如果,非要去訪問的話,那麼,只能 用對象去引用非靜態成員。
- 靜態變量在內存空間中只有一份,也永遠只有一份。
- 非靜態變量只要new出一個對象引用就會在內存中分配一份空間給它。
- 存放地點不一樣,靜態變量存放在棧空間。非靜態變量存放在堆空間裏
請說出作用域public,private,protected,以及不寫時的區別
這四個作用域的可見範圍如下表所示。
作用域 | 同一package | 當前類 | 子類 | 全局 |
---|---|---|---|---|
public | √ | √ | √ | 公開 |
protected | √ | √ | √ | 子類 |
default | √ | √ | × | 默認 |
private | √ | × | × | 私有 |
類–>包–>子類–>全局 大–>小
說明:如果在修飾的元素上面沒有寫任何訪問修飾符,則表示default。
只要記住訪問權限由小到大依次是private → default → protected → public,然後再記住Java存在的4個訪問範圍,就很容易畫出上面的表格了。