java之物件導向

2021-05-25 07:27:15 字數 1494 閱讀 2899

類是用於描述同一型別的物件的乙個抽象。類中定義了這一類物件所具有的靜態和動態屬性

靜態屬性:成員變數

動態屬性:方法

1 類可以看成是一類物件的模板,物件可以看成該類的乙個具體例項

2 首先必須定義類才能有物件

說到類,就不得不說構造其構造方法了

在new乙個物件是,呼叫的就是類中的構造方法

列如public class person

}class son extends father

}class tt

}class test

} 列印出的son

說明程式執行過程中,是根據其實際型別來確定呼叫的哪個類的方法

該機制使程式擴充套件達到了極致,若新增類,只需繼承父類,重寫父類中的相關方法,而不用特別大的改動,(相對面向過程語言)

抽象類

用關鍵字abstract修飾的方法和類叫做抽象方法和抽象類

抽象類不一定有抽象方法,但含有抽象方法的類必須宣告為抽象類

1抽象類只含有方法頭,即只需要宣告。 public abstract void print();

2抽象類不能例項化物件

注意點:

1abstract不能修飾構造方法

2static,private,final不能與abstract組合使用

static在類例項化前會先被例項化,而abstract不能用於例項化物件,矛盾

private為私有,子類繼承父類是無法重寫私有方法,而abstract需要子類繼承,通過重寫才能使用,兩者在一起就是無法繼承的抽象方法,即使存在也無實際意義(個人見解)

final和abstract不

能修飾同乙個類,

abstract

不能例項化,只能在派生的子類的獲得應用,而

final

修飾的類不能擁有子類,兩者同時修飾的類無法使用。

final關鍵字

final可用於修飾類,方法,變數

1 final修飾類時,無法派生子類

2 final修飾的變數一旦賦值則無法改變其值,即使是相同的值

3 final修飾的方法無法重寫

可以認為final修飾的一經賦值,就是唯讀的

在用final做實驗時,也發現了幾個原來未曾注意的問題

final變數作為成員變數時,一定要顯示初始化,要麼為其賦初值,要麼在構造方法中定義final變數

還可以在初始化塊中初始化

final

變數作為區域性變數時.可以只定義不初始化

class t

class t

class t

}//正確

我的理解:在類中可以定義final變數,並在構造方法中對其賦值

因為每個物件對應乙個不同的final變數

但是,一經賦值後,無法改變

靜態初始化

class t {

final static int i;

static {

i = 0;

java之物件導向2

作用 對物件的屬性 成員變數 進行初始化的 寫法 1.構造方法名與類名完全相同相同 大小寫必須一樣 2.沒有返回值型別 連void都不寫 3.沒有返回值 沒有 return public class demo01 class person 需求 寫乙個有引數的構造方法 public person s...

Java基礎之物件導向

注重點重點不同,面向過程注重的是過程,我是事務的執行者 物件導向注重物件,我是事務的指揮者。1.將複雜問題簡單化 2.從事物的執行者轉化為事物的指揮者 3.跟貼近人的思維,懶人思想 類 一類抽象事物的描述 模板 物件 用類建立出來的就是物件 具體的事物 區別 成員變數和區域性變數 區別 1.書寫位置...

Java基礎之物件導向(五)

一 介面 inte ce 1 概念 指用inte ce關鍵字修飾的一種型別 介面型別。他用於描述一系列功能性的方法,並讓子類實現。2 內容 1 介面不能有屬性,只能有被static final修飾的屬性及靜態常量。2 介面只能有抽象方法,不能有具體的方法。3 介面沒有構造器,所以不能建立物件,只能通...