Lecture1 初始面向?qū)ο?/h2>
- 面向?qū)ο螅宏P(guān)注現(xiàn)實(shí)存在的事物的各方面信息,從對象的角度出發(fā)没龙,根據(jù)事物的特征進(jìn)行程序設(shè)計
- 類:類是模子链韭,是一個抽象的概念,確定對象將會擁有的特征(屬性)和行為(方法)窍株,是具有相同屬性和方法的一組對象的集合
- 對象:對象是類的實(shí)例化表現(xiàn)民轴,是一個用來描述客觀事物的實(shí)體
- 類是對象的類型攻柠,對象是特定類型的數(shù)據(jù)
- 屬性和方法:屬性--對象具有的各種靜態(tài)特征;方法--對象具有的各種動態(tài)行為
- 包的推薦命名規(guī)則:
- 均使用小寫英文字母
- 采用域名的倒序
- 均使用小寫英文字母
- 采用域名的倒序
Tips:類中的成員屬性默認(rèn)有初始值
- 成員屬性的默認(rèn)值
基本類型 | 默認(rèn)值 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0 |
char | '\u0000' |
boolean | false |
引用類型 | null |
- 單一職責(zé)原則:又叫單一功能原則后裸;一個類應(yīng)該有且只有一個引起功能變化的原因瑰钮;如果一個類所承載的功能越多,它的交融耦合性就越高微驶,可復(fù)用性就越低
- 實(shí)例化對象的過程可以分成兩個部分:
- 聲明對象(發(fā)生在椑饲矗空間,在棧中開辟空間因苹,儲存的是實(shí)例化對象的堆空間的內(nèi)存地址)
- 實(shí)例化對象(發(fā)生在堆空間苟耻,完成對象的初始化操作)
Lecture2 構(gòu)造方法介紹
構(gòu)造方法:又稱為構(gòu)造方法,構(gòu)造器
-
構(gòu)造方法結(jié)構(gòu):
- 構(gòu)造方法名與類名相同且沒有返回值
- 構(gòu)造方法的語法格式:
public 構(gòu)造方法名(參數(shù)列表){ 初始代碼塊; }
- 構(gòu)造方法只能在對象實(shí)例化的過程中調(diào)用
- 當(dāng)沒有指定構(gòu)造方法時容燕,系統(tǒng)會自動添加無參的構(gòu)造方法
- 當(dāng)存在指定的構(gòu)造方法時梁呈,無論是有參還是無參的構(gòu)造方法,系統(tǒng)都不會再自動添加無參的構(gòu)造方法
- 一個類中可以有多個構(gòu)造方法
就近原則:優(yōu)先尋找同一個作用范圍內(nèi)的同名元素
this關(guān)鍵字:代表當(dāng)前對象的默認(rèn)引用
-
this關(guān)鍵字的使用:
- 調(diào)用成員屬性蘸秘,解決成員屬性和局部變量的同名沖突
- 調(diào)用同一個類中的其他成員方法
- 調(diào)用重載的構(gòu)造方法官卡,構(gòu)造方法在類內(nèi)不能直接被普通成員方法調(diào)用,但可以使用
this(參數(shù)列表);
調(diào)用構(gòu)造方法醋虏,this(參數(shù)列表);
必須放在方法體內(nèi)的第一行
vio
chapter9 面向?qū)ο蟀咐?/p>
package Chapter9.Lecture1.cat;
/**
* 寵物貓類
*/
public class Cat {
//成員屬性:昵稱寻咒、年齡、體重颈嚼、品種
String name; //昵稱毛秘,String類型默認(rèn)值為null
int month; //年齡,int類型默認(rèn)值為0
double weight; //體重阻课,double類型默認(rèn)值為0.0
String species; //品種
//無參構(gòu)造方法
public Cat() {
System.out.println("我是無參構(gòu)造方法");
}
//帶參構(gòu)造方法
public Cat(String name, int month, double weight, String species) {
this.name = name;
this.month = month;
this.weight = weight;
this.species = species;
}
//成員行為:跑動叫挟、吃東西
//跑動的方法
public void run() {
System.out.println("小貓快跑");
}
public void run(String name) {
System.out.println(name + "快跑");
}
//吃東西的方法
public void eat() {
System.out.println("小貓吃魚");
}
}
package Chapter9.Lecture1.cat;
public class CatTest {
public static void main(String[] args) {
//對象實(shí)例化
Cat one = new Cat();
//測試
one.eat();
one.run();
System.out.println("==================");
one.name = "花花";
one.month = 2;
one.weight = 1000;
one.species = "英國短毛貓";
System.out.println("昵稱:" + one.name);
System.out.println("年齡:" + one.month);
System.out.println("體重:" + one.weight);
System.out.println("品種:" + one.species);
System.out.println("==================");
one.run(one.name);
}
}