物件導向,關鍵字this,static,塊

2021-09-24 23:58:22 字數 1563 閱讀 2031

例子:蛋糕師做蛋糕:

定義乙個蛋糕類,

蛋糕的屬性(成員變數): 口味,尺寸.

定義乙個糕點師,

糕點師屬性(成員變數): 姓名

糕點師功能(成員方法):做個乙個蛋糕.

class cake 

}class baker

public cake bake(string size,string taste)

} public calss test

}

學生類和學校類,將學校作為學生類的乙個屬性.

比如,某個學生,ta所在的學校是該學生的屬性

class school 

}class student

void infor()

}public calss test

}

學生類,和書本類,學生有個讀書的功能,在呼叫該讀書功能的時候,需要傳入學生所讀的書籍的屬性引數.

public class test 

}class book

}class student

void read (student student,book book)

}

在構造器首行可以呼叫同類中的其他構造器;

student(string name, int age, boolean gender) 

student(string name, int age, boolean gender)

可以呼叫本類中的其他屬性即成員變數:

this.name = name;
*static關鍵字 靜態的 成員修飾符

類變數|靜態變數: static修飾變數,只能成員變數,不能修飾區域性變數

類 方法|靜態方法: static修飾的方法

靜態的內容的使用方式:

類名.方法名([引數列表]);

類名.屬性名;

物件.方法名字([引數列表]);

物件.屬性名;

被static修飾的靜態的內容是屬於類的,可以通過類使用的,可以通過物件去使用

成員的內容是屬於物件的,成員變數,成員方法只能通過物件呼叫

靜態的內容中只能直接使用靜態的內容,成員內容需要通過物件使用

非靜態的內容中,可以直接使用靜態的,可以直接使用非靜態的內容

只在類第一次載入的時候初始化一次,靜態的內容是獨乙份的,所有的物件共享乙個類中的靜態內容

塊block: {}->作用域

{}定義在方法中->區域性**塊|普通語句塊 執行時機:呼叫方法

{}定義在類中方法外->構造塊 執行時機:new

static{}定義在類中方法外->靜態塊 執行時機:在類第一次載入以後執行一次

同步塊

構造塊先於構造器的**執行,如果存在多個構造塊,從上到下以此執行

靜態塊先於主方法執行,如果存在多個靜態塊,從上到下依次執行

static->main->構造塊->構造器

物件導向關鍵字

this關鍵字 this是一種特殊的引用,指向當前物件 this的兩種使用方法 1 如果發生區域性變數可以成員變數命名衝突時,可以通過this.成員變數名的方式區分例項變數和區域性變數 2 乙個構造方法中需要呼叫同乙個類的另乙個構造方法,可以通過this 的方式呼叫,但this 必須要書寫在第一行 ...

物件導向 this 關鍵字

通過this關鍵字可以明確地訪問乙個類的成員變數,解決與區域性變數名稱相同的問題。示例 如下 public class cat 在上面的 中,構造方法的引數被定義為color,它是乙個區域性變數,在類中還定義了乙個成員變數,名稱也是color。在構造方法中如如果使用color,則訪問區域性變數,但如...

物件導向 final關鍵字

final 最終,作為乙個修飾符。1 可以修飾類,函式,變數。2 被final修飾的類不可以被繼承,為了避免被繼承,被子類複寫功能。3 被final修飾的方法不可以被複寫。4 被final修飾的變數時乙個敞亮只能賦值一次,既可以修飾成員變數,也可以修飾區域性變數。當在描述事物時,一些資料的出現值是固...