Java學習二 物件導向

2021-08-16 02:29:19 字數 1168 閱讀 4646

(1)類

(2)抽象類:包含乙個或多個抽象方法的類本身必須被宣告為抽象的,抽象類可以包含具體資料和方法;抽象類不能被例項化,可以定義抽象類的物件變數,但是它只能引用非抽象子類的物件

(3)介面:介面中的方法自動地屬於 public,因此不必提供關鍵字;介面決不能含有例項域,例項域和方法的實現應該有實現介面的類完成;介面不是類,不能構造介面的物件,但可以宣告介面的變數(必須引用實現了介面類的物件);可以使用 instanceof檢查乙個物件是否實現了某個特定的介面;介面也可以被擴充套件;介面中的域被自動設定成 public static final;類可以實現多個介面,彌補了只能繼承乙個抽象類的缺陷;為了讓類實現乙個介面,通常需要兩個步驟:將類宣告為實現給定的藉口(關鍵字implements);對介面中的所有方法進行定義。 2、

(1)繼承:基於已存在的類,構造乙個新類 extends

(2)封裝:將資料和行為組合在乙個包中,並對物件的使用者隱藏了資料的實現方式。絕對不能讓類中的方法直接地訪問其他類的例項域,程式僅通過物件的方法與資料物件進行互動。提高重用性和可靠性。

(3)多型:乙個物件變數可以指示多種實際型別的現象被稱為多型

(4)動態繫結:在執行時能夠自動地選擇呼叫哪個方法稱為動態繫結。呼叫的方法依賴於隱式引數的實際型別,編譯時期無法確定。

person people = new person[2];

//多型

people[0] = new employee("harry hacker", 5000, 1989, 10, 1);

people[1] = new student("maria morris", "computer science");

//動態繫結

for(person p : people)

system.out.println(p.getname() + ", " + p.getdescription());

(5)過載(靜態繫結):是指允許存在多個同名方法,而這些方法的引數不同。過載的實現是:編譯器根據方法不同的參數列,對同名方法的名稱做修飾。對於編譯器而言,這些同名的方法就成了不同的方法。它們的呼叫位址在編譯時期就繫結了。

3、 (1)private:僅對本類可見

(2)default:對本包可見

(3)public:對所有類可見

(4)protected:對本包和所有子類可見

Java物件導向二

一.繼承 1.用法 class subdome extends dome 2.特點 只能繼承單個父類,但可多層繼承。super代表父類的記憶體標識,this代表自己 3.函式覆蓋 是當子類需要不同於父類裡出現的方法時,可用函式覆蓋。1 父類的私有方法不能被覆蓋 2 子類覆蓋方法後,仍可用super繼...

JAVA物件導向學習

物件導向 1.static成員不能訪問非static成員 2.物件,引用,指標 3.private protect public 4.區域性變數 成員變數 父類回溯 5.super super.6.引用 編譯時型別,執行時型別 7.方法多型,變數例項無多型 8.引用型別只能決定編譯時變數,不能呼叫執...

java物件導向學習

物件導向思想 物件導向是基於面向過程的思想 面向過程 強調每一 個功能的步驟 物件導向 強調的是物件,由物件去呼叫功能 物件導向特徵 封裝 繼承 多型。物件導向特點 1.更符合人們的思考習慣 2.將複雜的事情簡單化 3.將我們從執行者變成指揮者 構造方法 給物件的資料進行初始化 格式 1.方法名和類...