前言
是不是被標題忽悠進來了哈哈哈,既然來了就別走了,相信我下面絕對讓你對java面向物件更好理解(全是個人理解勿噴,歡迎大佬在下面指教)
java物件
俗話說的好,只要有new(強行補坑哈哈哈),我就可以new出來無數個物件,還能天天面向物件(媽媽再也不用擔心我找不到物件,當親戚問我有沒有物件時,我直接回答:物件多的數不過來,還得天天面向物件,愁死人嘍哈哈哈)好了,開始進入正題了
Java物件如何創建和怎么成員呼叫?
直接貼上代碼吧哈哈哈(有點懶)
//new出物件
student a=new student();
//給物件的屬性賦值
a.name="張三";
//呼叫方法
a.show();
面向物件三大特征
封裝
(一)定義:
將物件的狀態資訊隱藏在物件內部(設定成private),不允許外部程式直接訪問物件內部資訊,?是通過該類所提供的?法來實作對內部資訊的操作和訪問(我們用到了封裝,public的get/set方法,賦值用set,獲取值用get),
(二)目地:
1.追求高內聚,低耦合
2.隱藏類的實作細節
3.防止不合理的訪問
4.保證物件資訊的完整性
5.便于修改錯誤
(如何封裝,代碼如下)
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
繼承
(一)作用:
突現類重復使用的手段(通過一個類的繼承,來完成各種業務的需求),
(二)特性:
1.子類通過extends來實作對父類的繼承
2.子類可以呼叫父類中除private的屬性和方法
3.可以進行方法重寫(overreide)
4.子類可以添加獨有成員
5.java中的繼承屬于[單繼承機制]
6.每個類都默認繼承一個Object類(祖父類)
相信肯定會有人問java不是單繼承機制嘛?兩個類不發生沖突嘛?
就相當你父親上面肯定還有你祖父,屬于繼承一個類,并不會發生什何沖突(Object是最原始的類)
(如何繼承,代碼如下)
public class Dog extends Pat{}
多型
1.基礎:
參考變數有兩個型別:
(一):編譯時型別:由宣告變數時候使用的型別決定
(二):運行時型別:由實際賦給該變數的物件決定
2.定義:
多型就是編譯時型別和運行時型別不一致
一個物件在記憶體中體現出多種不同的形態
3.相關問題?
強制型別轉換與真實型別不區配(classCastException)
需提前使用instance of判斷
想要有多型必須需要先繼承
怎么使用多型,代碼如下
Dog d=new Dog();
d.setName("大黃");
d.setAge("10");
d.eat();
在這里直接放腦圖吧哈哈哈(別問為什么是試用模式,問就是窮)

為什么要使用封裝(我直接在一個類里面寫不可以么)?
倒是也可以這樣寫,但這樣寫是針對那些代碼量少的專案(定義到類中的類叫內部類),如果代碼量大那肯定就不行了,因為找bug太麻煩,必須拿出來封裝寫
為什么需要繼承?
當一個類無法滿足業務的需求時,就要考慮繼承了(后面內容會講介面)
多型的好處?
方便呼叫代碼來完成某個業務的需求
this與super的區別/相像點
區別:this是指當前物件,super是父類物件
相像點:
1.使用起來都一樣,可以呼叫一般屬性和一般方法
2.放置在類成員的任意位置
3.呼叫方法時候來回呼叫 可能會產生運行時錯誤(StackOverflowError)
總結
后續文章更新會慢一點,因為要開始做專案了(再加上自己是組長鴨梨重大),運動會也馬上開始了(得抓緊鍛煉身體了哈哈哈),其實這一篇應該是昨天晚上發布出來的,由于是用手機寫的剛開始寫了保存了,后面有補充了許多,結果出來沒保存,沒辦法只能重新熬夜補充,結果出來還是沒有補充的內容,只能今天用電腦補充嘍再發布了(結果補充了一星期),害,不過我相信一步一個腳印來,慢慢會好起來的,每天對自己說聲加油(共勉吧,一起努力,頂峰見),方法竟然還可以克隆出來,這是什么神奇操作(記得收看下一篇哦哈哈哈哈)

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/143302.html
標籤:其他
上一篇:又是沒有專業技術的一篇嘿嘿!
