例子:蛋糕師做蛋糕:
定義乙個蛋糕類,
蛋糕的屬性(成員變數): 口味,尺寸.
定義乙個糕點師,
糕點師屬性(成員變數): 姓名
糕點師功能(成員方法):做個乙個蛋糕.
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修飾的變數時乙個敞亮只能賦值一次,既可以修飾成員變數,也可以修飾區域性變數。當在描述事物時,一些資料的出現值是固...