1. 程式人生 > >java基礎之類與對象

java基礎之類與對象

參數類型 ima 函數 需求 使用 結構 ron out 面向對象

[類 & 對象]
1、類:具有一系列相同屬性(特征)和方法(行為)的個體的集合,稱為類。
類是一個抽象的概念,只能說類具有哪些屬性,而不能直接對屬性進行賦值。
例如:人類有身高的屬性,但是不能說人類的身高是180

2、對象:從類中拿出具有具體屬性值的個體,稱為對象。
對象是從類中拿出的一個具體的個體,需要對屬性進行具體的賦值。
例如:人類有身高的屬性,那麽張三是人類中的一個個體,就可以說張三的
身高180, 此時張三就是人類的一個對象。

3、類與對象的關系:
類是對象的抽象化,對象是類的具體化。
類是對象的描述,對象是類的個體(實例)。


程序中由類產生對象。
面向對象的三大特征:繼承、封裝、多態。

[類的創建]
1、聲明一個類:[訪問控制符] class 類名{}
註意類名的命名規範
public class Person {}

2、聲明一個屬性:[訪問控制符] 屬性類型 屬性名;
public String name;
public int age;

3、聲明一個方法:[訪問控制符] 返回值類型 方法名(){}
如果沒有返回類型,用void代替。
public void say(){
System.out.println("我是人類,我會說話。");


}


4、 構造函數:是類中的一個特殊的方法
①構造函數與類同名
②構造函數沒有返回類型,連void也沒有!
public Person(){}
public Person(String name,int age){}
[註意]
① 如果沒有手動寫構造函數,則系統會默認提供一個空參構造
如果一旦手寫構造函數,則系統不再提供空參構造

② 構造函數無需手動調用,而是在實例化對象時,自動調用。

③ 構造函數的作用:在實例化對象時,給類的屬性賦默認值

④ 習慣上寫一個空參構造(可以創建一個空對象,無需寫參數)和全參構造。

[使用類和對象的步驟]
① 聲明一個類
public class Person {
public String name="張三";//屬性
public int age=12; //方法

}

② 在需要調用類的main方法中,使用new關鍵字拿到對象(對象的實例化)
Person p=new Person();

③ 使用對象名.方法名()或對象名.屬性名,可以調用類中的屬性和方法
p.say(); //調用方法
System.out.println(p.name);//調用屬性


[方法的返回值]
① 如果方法有返回值,可以使用return返回結構
② 如果方法沒有返回值,需要設置返回值為void,而且方法中必須沒有return
③ 有返回值的方法,調用時不一定接收返回值。
④ 沒有返回值的方法,調用時一定不能接收返回值

[方法的調用]
① 聲明的方法,只有在調用的時候才能執行方法體中的代碼
②方法的調用:
>>>在本類的其他方法中調用,使用 方法名(); 或者使用 this.方法名();
public void eat(){
System.out.println("調用eat方法");
this.say();
}

>>>調用其他類中的方法,首先應該實例化對象,再使用 對象名.方法名();調用
Demo02_Method dm=new Demo02_Method();
dm.say();

[方法的參數]
① 聲明方法時:可以在()中設置調用方法時需要的傳入的參數列表,多個參數之間用逗號分隔;
public void eat(String food,int count){}

聲明方法時的參數列表,稱為形參列表;

② 調用方法時傳入的參數類型必須與形參類型一一對應。
dm.eat("雞蛋",3);

調用方法時的參數列表,稱為實參列表;

[成員變量與局部變量]
① 成員變量:寫在方法體外面,直接在類中聲明的變量
成員變量在整個類中可以使用
② 局部變量:在方法體裏面聲明的變量
局部變量只在當前方法體中有效,方法的形參列表,都屬於局部變量。

③ 成員變量與局部變量的區別:
⑴作用域不同: 成員變量在整個類中可以使用,局部變量只在當前方法體中有效;
⑵初始值不同:java中,成員變量會默認賦初始值,局部變量沒有默認初始值
⑶ 優先級不同:當成員變量與局部變量重名時,在方法中優先使用局部變量
如果需要使用成員變量則必須用 this.成員變量;

[類的使用原則]

一個完整的程序將分為三個部分,基本數據,對數據的各種操作,數據的測試。所以完整的java程序包含三種類:

數據類:類中只包含屬性以及構造方法;

數據操作類:無屬性及構造方法,只有自己寫的各種對數據進行操作的各種方法。

測試類:main方法的所在類,在裏面進行類的實例化,根據不同的需求,調用不同的對象方法,實現面向對象。

技術分享圖片

技術分享圖片技術分享圖片

java基礎之類與對象