JAVA語法學習

一.JAVA 語法:

類名首字母需大寫

JAVA中的類和變量:

類創建的時候會調用默認的構造函數
變量:
局部變量,成員變量,類變量
類變量:又叫靜態變量,以static標明,隨着類的加載而存在,存儲在靜態存儲區,可以通過對象訪問或者類直接訪問,簡而言之,是屬於類的。
成員變量:又叫實例變量。隨着對象創建而創建,隨對象釋放而釋放,存儲在堆上
判斷成員(成員變量和成員函數)是否需要創建靜態變量,需要分清楚該變量是否爲所有對象共享。如果有特有數據,則不能加static修飾
一個源文件只能有一個public類,可以有多個非public類
final標識是常量標識

import和package的聯繫

基本數據類型:

byte short int long float double
引用類型:
聲明引用類型之後,必須實例化(獲得數據空間),即new一個

JAVA 修飾符:

JAVA實例在類內部均可以訪問,無論實例變量申明在哪個位置
Public等
Public 公開、任何類均可訪問
Protect 方法只能對子類可見
Private 私有,只能此類訪問
Defult 同一包內可見

Static
靜態方法不能使用類的非靜態變量

Final
常量修飾符,被修飾的變量不能修改
Final 方法能被繼承但是不能被修改
Final 類不能被繼承

習慣:Static final 大寫變量

Abstruct
聲明爲抽象的方法沒有實現,實現由子類提供,且子類必須實現,除非子類也是抽象類
抽象類不能實例化對象,若包含抽象方法,則必須表明爲抽象類
Volatile
共享內存變量,多個線程進行讀寫時起作用

throws和throw的區別:
throw 是異常語句
throws是方法可能拋出異常的聲明。(用在聲明方法時,表示該方法可能要拋出異常)
語法:(修飾符)(方法名)([參數列表])[throws(異常類)]{……}
public void doA(int a) throws Exception1,Exception3{……}

JAVA運算符

Instanceof
boolean result = a instanceof Car 判斷左邊是否爲右邊的“一個例子”

JAVA數組

dataType[] arrayRefVar;
or
arryReVar = new dataType[arrySize]

JAVA繼承

關鍵字:extend implenment
關鍵字:super 調用父類的方法

JAVA 重寫和重載

重載:方法名字相同,參數不同

二.JAVA多態

多態的三個要素:
重寫 繼承 父類引用子類對象
其中
使用父類類型的引用指向子類對象
變量不能被重寫
子類是動態鏈接,動態調用
實現方式:重寫 抽象類和方法 接口

三.JAVA 抽象

抽象類

1.抽象類不能被實例化
2.含有抽象方法的類必須是抽象類,但是抽象類不一定要包含抽象方法

抽象方法

抽象方法必須在子類中實現,如不實現,子類也必須爲抽象類

JAVA封裝

  1. JAVA封裝可以用於對類內特定變量的保護

JAVA接口(interface)

  1. JAVA接口(interface)是抽象方法(public abstract)的集合,由類來實現,且必須實現其所有的抽象方法,除非類爲抽象類
  2. 接口可以被多繼承
  3. 接口聲明:interface 實現:implements 繼承:extends
  4. 接口和類的區別

接口與類相似點:
一個接口可以有多個方法。
接口文件保存在 .java 結尾的文件中,文件名使用接口名。
接口的字節碼文件保存在 .class 結尾的文件中。
接口相應的字節碼文件必須在與包名稱相匹配的目錄結構中。
接口與類的區別:
接口不能用於實例化對象。
接口沒有構造方法。
接口中所有的方法必須是抽象方法。
接口不能包含成員變量,除了 static 和 final 變量。
接口不是被類繼承了,而是要被類實現。
接口支持多繼承。
接口特性
接口中每一個方法也是隱式抽象的,接口中的方法會被隱式的指定爲 public abstract(只能是 public abstract,其他修飾符都會報錯)。
接口中可以含有變量,但是接口中的變量會被隱式的指定爲 public static final 變量(並且只能是 public,用 private 修飾會報編譯錯誤)。
接口中的方法是不能在接口中實現的,只能由實現接口的類來實現接口中的方法。
抽象類和接口的區別
1. 抽象類中的方法可以有方法體,就是能實現方法的具體功能,但是接口中的方法不行。
2. 抽象類中的成員變量可以是各種類型的,而接口中的成員變量只能是 public static final 類型的。
3. 接口中不能含有靜態代碼塊以及靜態方法(用 static 修飾的方法),而抽象類是可以有靜態代碼塊和靜態方法。
4. 一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。

JAVA 包

  1. 創建 package
  2. 包含 import
  3. 編譯是按照類名開始編譯
  4. 可以讓Java文件可class文件區分開來

JAVA 泛型

https://www.cnblogs.com/lwbqqyumidi/p/3837629.html
具體來講就是將類型作爲參數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章