面向?qū)ο?/h3>
- 面向?qū)ο笫且环N編程方法,一種思維方式,不是一種語言。但是需要先培養(yǎng)面向?qū)ο蟮乃季S方式:1.首先確認(rèn)誰來做,其次怎么做。2.先整體后局部。3.先抽象后具體的思維方式。
面向?qū)ο笫菍F(xiàn)實(shí)世界的思維方式搬入程序中
- Java是純靜態(tài)的語言,使用變量需要先聲明,后使用。變量是描述類的狀態(tài),方法是描述類的行為。
Dog dog = new Dog()步驟如下:在棧內(nèi)存中創(chuàng)建一個(gè)Dog的引用,在堆內(nèi)存中開辟一塊空間,創(chuàng)建Dog的對(duì)象,將dog的對(duì)象賦值給dog的引用。
- 匿名對(duì)象的創(chuàng)建eg:
new Dog().jump();
- 函數(shù)的重載overload與函數(shù)的復(fù)寫override(覆蓋)
面向?qū)ο笫菍F(xiàn)實(shí)世界的思維方式搬入程序中
Dog dog = new Dog()步驟如下:在棧內(nèi)存中創(chuàng)建一個(gè)Dog的引用,在堆內(nèi)存中開辟一塊空間,創(chuàng)建Dog的對(duì)象,將dog的對(duì)象賦值給dog的引用。new Dog().jump();
| overload | 函數(shù)重載是在同一個(gè)類中函數(shù)重名,參數(shù)列表不同(返回值類型可不同) |
|---|---|
| override | 函數(shù)的覆蓋是在有extends關(guān)系中函數(shù)定義完全相同,方法體不同的方法 |
構(gòu)造函數(shù)與this super static關(guān)鍵字
string name;
int age;
A(string name){
//this.name是成員變量,name為 傳入的參數(shù)。
this.name = name;
}
A(string name, int age){
this(name);//在一個(gè)構(gòu)造函數(shù)中引用另一個(gè),放在第一行
this.age = age;
}
super可調(diào)用父類的成員函數(shù)。在重寫introduce()下:
void introduce(){
super.introduce();//super可前可后
System.out.println("我家在" + this.adress);
}
static關(guān)鍵字,可修飾變量和函數(shù),靜態(tài)成員變量和靜態(tài)成員函數(shù)均可以用類名.變量名 類名.方法名 調(diào)用。
在靜態(tài)函數(shù)中不能直接使用非靜態(tài)的對(duì)象。