面向對象第一章(成員變量、局部變量、重載)

1.什麼是類?什麼是對象?學習

1)現實世界是由不少不少對象組成的 基於對象抽出了類this

2)對象:真實存在的單個的個體 類:類別/類型,表明一類個體指針

3)類中包含:對象

3.1)全部對象所共有的屬性/特徵----------成員變量內存

3.2)全部對象所共有的行爲---------------方法編譯器

4)一個類能夠建立多個對象 同一類型所建立的對象,結構相同,數據不一樣內存管理

5)類是對象的模板,對象是類的具體的實例io

2.如何建立類?如何建立對象?如何訪問成員?編譯

Student zs = new Student();模板

0.方法的簽名: 方法名+參數列表

1.方法的重載(overload):

1)發生在一個類中,方法名稱相同,參數列表不一樣,方法體不一樣

2)編譯器在編譯時根據方法的簽名自動綁定調用的方法

2.構造方法:

1)給成員變量賦初值

2)與類同名,沒有返回值類型

3)在建立(new)對象時被自動調用

4)若本身不寫構造,則默認一個無參構造方法 若本身寫了構造,則再也不默認提供了

5)構造方法能夠重載

3.this:指代當前對象,哪一個對象調用方法指的就是哪一個對象 只能用在方法中,在方法中訪問成員變量以前默認有個this.

this的用法:

1)this.成員變量名-------------訪問成員變量

2)this.方法名()---------------調用方法(通常不用)

3)this()----------------------調用構造方法

4.null:空,沒有指向任何對象 若引用的值爲null,則該引用不能再進行任何操做了 若操做則發生NullPointerException空指針異常

5.引用類型之間畫等號:

1)指向同一個對象

2)經過一個引用對數據的修改會影響另外一個引用對數據的訪問 eg:房子鑰匙

基本類型之間畫等號:

1)賦值

2)對一個變量的修改不會影響另外一個變量 eg:身份證複印件

成員變量和局部變量是能夠同名的 ------用的時候採用就近原則

成員變量與局部變量同名時,this不能省略

class Student {

String name; //成員變量

int age;

String address;

Student(String name,int age,String address){

this.name = name;

this.age = age;

this.address = address;

}

void study() {

System.out.println(name+"在學習...");

}

void sayHi() {

System.out.println("你們好,我叫"+name+",今年"+age+"歲了,家住"+address);

}

}

內存管理:

由JVM來管理的

1)堆:存儲new出來的對象(包括成員變量)

2)棧:存儲局部變量(包括方法的參數)

3)方法區:存儲.class字節碼文件(包括方法) 堆:Aoo對象+a 棧:o+b+c 方法區:

Aoo.class+show() main(){

Aoo o = new Aoo();

o.show(8);

}

class Aoo{

int a;

void show(int b){

int c = 5;

}

}

相關文章
相關標籤/搜索