面向對象
是一種對現實世界理解和抽象的方法
思想:由複雜變簡單,有執行者轉換爲指揮者
1、面向過程:打開、存儲、關閉
2、三個特徵:封裝、繼承、多態
3、 定義類,就是在描述事物,就是在定義屬性和行爲,屬性和行爲共同成爲類
中的成員(成員變量和成員方法)
屬性對應是類中變量,行爲對應的是類中的函數
4、成員變量和局部變量
1)成員變量作用於整個類中
局部變量作用於函數中,或者語句中
2)在內存中的位置
成員變量:在堆內存中,因爲對象的存在,纔在內存中存在
局部變量:存在棧內存中
5、匿名對象:適用於調用外函數時,定義
例:new car().num=1;
new car().color=red;
new car().run(); //共匿名定義了三個對象
6、封裝 Encapsulation
7、構造函數的作用:可以用於給對象進行初始化
小細節:當一個類中沒有定義構造函數時,系統會默認給該類加入一個構造函數。
8、構造函數和一般函數在寫法上有不同
構造函數是在對象已建立就運行,給對象初始化。
而一般方法是對象調用執行,給是對象添加對象具備的功能
在運行上也有不同。
一個對象建立,構造函數就執行一次
而一般方法可以被該對象調用多次。
9、什麼時候定義構造函數?
當分析事務時,該事物存在具備一些特性或者行爲,那麼將這些內容定義在構造函數中。
10、構造代碼塊
class car
{
private String name;
{
system.out.println("123")
}//構造代碼塊
}
作用:給對象進行初始化。
對象已建立就運行,而且優先於構造函數執行。
和構造函數的區別:
構造代碼塊是給所有對象進行統一初始化的。
而構造函數是給對應的對象初始化
構造代碼塊中定義的是不同對象共性的初始化內容。
11、this:看上去,是用於區分局部變量和成員變量同名情況
1)
this爲什麼可以解決這個問題?
this到底代表的是什麼?
這個對象
2)
this代表它所在函數所屬對象的引用
簡單說:哪個對象在調用this所在的函數,this就代表哪個對象
3)this的應用:當定義類中功能時,該函數內部要用到調用該函數的對象時,這時用this來表示這個對象
class car
{
public boolean compare(car c)
{
if(this.color==c.color)//this->c1,c->c2
{}
}
}
...
car c1=new car();
car c2=new car();
boolean b=c1.compare(c2);
4)this語句:用於構造函數之間進行互相調用
this語句只能定義在構造函數的第一行,因爲初始化要先執行。
面向對象_構造函數_this
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
黑馬程序員 面向對象 static main
------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a h
wws1214
2020-06-13 01:45:48
輸出字符串與數字時的小差異
System.Out。println("sum="+5+5); 結果爲:sum=55 System.Out。println("sum="+(5+5)
wws1214
2020-06-13 01:45:48
循環結構 函數的定義
循環--------------------------------------------- 1、while與do-while d
wws1214
2020-06-13 01:45:48
C++核心準則C.164:避免隱式轉換運算符
面向对象思考
2020-04-27 10:38:09
Android開發之Intent
Elven_Shi
2020-02-23 21:49:38
Android Intent
在路上的大蜗牛
2020-02-22 12:02:16
oracle 類型轉換函數 & oracle 隱式轉換規則總結
unirong
2020-02-22 01:00:08
Intent使用相關
双鱼千殇
2020-02-20 19:14:00
SQL Server 中的數據類型隱式轉換問題
潇湘隐者
2019-08-30 20:33:13
黑馬程序員 面向對象 static main
------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a h
wws1214
2020-06-13 01:45:48
輸出字符串與數字時的小差異
System.Out。println("sum="+5+5); 結果爲:sum=55 System.Out。println("sum="+(5+5)
wws1214
2020-06-13 01:45:48
循環結構 函數的定義
循環--------------------------------------------- 1、while與do-while d
wws1214
2020-06-13 01:45:48
C++核心準則C.164:避免隱式轉換運算符
面向对象思考
2020-04-27 10:38:09
Android開發之Intent
Elven_Shi
2020-02-23 21:49:38
Android Intent
在路上的大蜗牛
2020-02-22 12:02:16