Java基礎10一物件導向,java10一物件導向
抽象
概念:當一個類中沒有足夠的資訊描述一個現實生活中具體存在的事物,那麼這個類就是抽象類別。
抽象類別一般是對概念領域中的描述。
文法:
[存取修飾詞] abstract class 類名{}
如:
public abstract class Person{}
特點:
1.抽象類別不能夠建立對象,但是可以有構造方法,抽象類別的構造方法是給子類調用的。如:
public abstract class Person{
//這個方法是正確的 public Person(){ System.out.println("構造方法"); } //但是不能這樣建立對象 Person per = new Person();
}
2.抽象類別中可以包含抽象方法,但是靜態方法不能是抽象的。
抽象方法的定義文法:
[存取修飾詞] abstract 傳回值類型 方法名稱(參數列表);
public abstract class Person{ //抽象方法 public abstract void sleep(); //靜態方法 public static void say(){ System.ou.println("你好"); }}
如果一個類中有一個抽象方法,那麼這個類一定是抽象類別,但是一個抽象類別中不一定有抽象方法。
子類繼承了抽象類別,那麼子類一定要實現父類中所有的抽象方法,否則子類也要聲明為抽象類別。
介面
介面就是用來聲明功能(方法),在介面中只有方法的聲明和常量。
定義文法:
[存取修飾詞] interface 介面名稱{}
介面特點:
介面中沒有構造方法,也不能夠建立介面的對象。
介面中的方法由類來實現。
介面中定義的方法,存取修飾詞永遠都是public。
介面中定義的變數永遠都是常量。
介面中常量被public static final 修飾。
介面可以實現多繼承。
介面實現多繼承
文法:
[存取修飾詞] interface 介面名稱 extends 介面1,介面2…{}
實現介面通過implements關鍵字來實現
文法:
[存取修飾詞] class 類名 implements 介面名稱{}
實現介面,那麼就要實現介面中所有的方法,否則當前類要定義為抽象類別。
static關鍵字
前提:
執行個體變數和類變數
執行個體變數指的是通過類的對象去調用
類變數指的是無需通過類的對象調用,直接用類名調用即可。
作用:
static可以修飾變數成為靜態變數或者類變數
static修飾的變數屬於類,不屬於某個對象,而且不管建立多少個對象,靜態變數只有一個副本,也就是說所有對象使用的類變數是同一個。
static修飾的變數可以直接通過類名調用。
static修飾方法成為類方法,靜態方法直接通過類名調用即可。
static可以修飾代碼塊,作用就是用來給靜態變數初始化的。
文法:
static{}
特點:
在靜態方法中只能調用靜態方法或變數
在非靜態方法中可以調用靜態方法或靜態變數
在靜態方法中不能使用this,super關鍵字
局部變數不能是static修飾的。