一、建構函式
乙個完整的類由屬性和方法構成,其中有一種方法的作用是對物件進行初始化,
這種函式就是建構函式
建構函式的特點:
1、函式名與類名相同示例**:2、不用定義返回型別
3、不可以寫return語句
4、乙個類可以擁多個構造函,每個建構函式的引數不相同,以過載的形式存在
二、構造**塊public class person
//建構函式1
person(string n)
//鉤造函式2
person(string n,int a)
void showwho()
public static void main(string args)
}
在類裡面直接寫一塊由{}括起來的**,叫構造**塊
每建立乙個物件,構造**塊都會優先於建構函式執行,目的是給所有的物件進public class person
//無參建構函式
person ()
行統一初始化。
三、this關鍵字
this關鍵字代表函式所屬物件的引用
this關鍵字的應用一:區分區域性變數與成員變數,**示例:
public class person
this關鍵字的應用二:當定義類中的方法時,該方法內部要呼叫到該函式的物件時,
用this來表示這個物件,示例:
有時需要在構造器中呼叫另乙個構造器,可用this關鍵字做到這一點。//函式裡的this關鍵字代表呼叫該函式的物件的引用
public boolean issameage(person person )
return false;
} public static void main(string args)
上面說this關鍵字
代表函式所屬物件的引用,但是在建構函式中,this加引數列表,則有不同的含義。這錶
示對符合引數列表的建構函式的明確呼叫。如下,this關鍵字的應用三:
四、static關鍵字//鉤造函式1
person(string name)
//鉤造函式2
person(string n,int a)
void showwho()
public static void main(string args)
}
每個物件有共同資料,使用static關鍵字,可共享資料,節約記憶體空間。
static修飾的成員變數存在共享區中,也叫方法區。用法如下:
static的特點:public class person
public static void main(string args)
}
1、隨類的載入而載入,隨類的消失而消失靜態使用注意事項:2、優先於物件而存在
3、被所有的物件共享
4、可用類名.成員變數,方式呼叫
1、靜態方法只能訪問靜態成員變數(什麼時候使用靜態:變數、方法
),非靜態方法可以訪問靜態成員
2、靜態方法中不可以定義this.super關鍵字
1、當物件出現共享資料時,用static典型的靜態方法的應用是工具類。為不讓其它程式建立工具類的物件,可將建構函式私有化,2、當方法的內部沒有訪問到非靜態資料,該方法可以定義成static
private classtool(){};
五、main()函式
1、主函式是乙個特殊的函式,作為函式的入口,可以被jvm呼叫
2、public :代表該函式訪問的許可權是最大的
3、static:代表主函式隨著類的載入就已經存在
4、viod:主函式沒有具體的返回值
5、main:不是關鍵字,但可被jvm識別
6、引數是字串陣列。
注意:類中擁有多個不同格式的main函式是合法的,但jvm只會呼叫固定格式的main函式
六、靜態**塊
靜態**用於給類進行初始化,不能使用非靜態成員,隨著類的載入而載入,並且只執行一次
格式:
static
class staticcode
}class staticcodedemo
public static void main(string args)
static
}/*output:bc
aover
*///:~
java基礎 2 物件導向
以下是我的理解 1.b事 物件之間發生互動 物件抽象成程式中的類 物件所擁有的特徵與行為,抽象成類中的屬性和方法,互動就是物件發生行為,抽象成類的方法呼叫 現實中一件事,a導致b怎麼樣,a和b抽象成程式中的類 導致可以 是 a類中的方法 怎麼樣可以是b類中的方法 物件導向程式設計 就是將現實世界中的...
java 物件導向(2)
有關 關鍵字 private final 和 abstract 1.private private 私有,許可權修飾符 用於修飾類中的成員 成員變數,成員函式 私有只在本類中有效。將age私有化以後,類以外即使建立了物件也不能直接訪問。但是人應該有年齡,就需要在person類中提供對應訪問age的方...
Java物件導向(2)
位置不同 成員變數 類中方法外 區域性變數 方法定義中或方法宣告上 記憶體不同 成員變數 堆記憶體 區域性變數 棧記憶體 生命週期不同 成員變數 隨著物件的建立而存在,隨著物件的消失而消失 區域性變數 隨著方法的呼叫而存在,隨著方法的呼叫完畢而消失 初始化值不同 成員變數 有預設出事值 區域性變數 ...