Java学习笔记——面向对象
聲明:文章首發(fā)于我的個(gè)人微信公眾號(hào)Java編程社區(qū),查看更多文章與學(xué)習(xí)資源請(qǐng)移步我的公眾號(hào)Java編程社區(qū)
萬(wàn)物皆對(duì)象
學(xué)習(xí)Java,我們都聽過(guò)這句話:萬(wàn)物皆對(duì)象。那么什么是對(duì)象?
我們先來(lái)看看人類是怎么認(rèn)識(shí)世界的,人類不斷的接觸到世界上的各種生物,通過(guò)長(zhǎng)期的觀察,把具有公共特性的生物進(jìn)行分類,這樣就給每類動(dòng)物一個(gè)統(tǒng)稱,比如牛、馬、老虎等,單獨(dú)從老虎的角度講,世界上又有千千萬(wàn)萬(wàn)個(gè)老虎,它們都是這個(gè)世界上具體的某一個(gè)生物。我們?cè)诂F(xiàn)實(shí)生活中,是通過(guò)具體的某個(gè)事物歸納總結(jié)他們的公共特性然后產(chǎn)生類。
對(duì)象:在現(xiàn)實(shí)生活中存在的具體的一個(gè)事物。
類:對(duì)某種類型事物的公共屬性與行為的抽取。
人類認(rèn)識(shí)世界:對(duì)象——>類
在Java中: 類——>對(duì)象
Java中描述事物通過(guò)類的形式體現(xiàn),類是具體事物的抽象,概念上的定義。
對(duì)象既是該類事物實(shí)實(shí)在在存在的個(gè)體。
類與對(duì)象的關(guān)系圖
類就是汽車
汽車A、B、C就是堆內(nèi)存中的對(duì)象。
面向?qū)ο笈c面向過(guò)程對(duì)比
舉個(gè)生活中買電腦的例子
面向過(guò)程就是分析出解決問(wèn)題所需要的步驟,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn),使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了。
面向?qū)ο笫前褬?gòu)成問(wèn)題事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描敘某個(gè)事物在整個(gè)解決問(wèn)題的步驟中的行為。
面向?qū)ο蟮奶卣?/p>
封裝
繼承
多態(tài)
開發(fā)的過(guò)程:其實(shí)就是不斷的創(chuàng)建對(duì)象,使用對(duì)象,指揮對(duì)象做事情。
設(shè)計(jì)的過(guò)程:其實(shí)就是在管理和維護(hù)對(duì)象之間的關(guān)系。
關(guān)于面向?qū)ο蟮奶卣?#xff0c;在后續(xù)的文章中我會(huì)詳細(xì)講。
使用Java來(lái)描述事物
案例:通過(guò)Java語(yǔ)言定義一個(gè)汽車類,并生產(chǎn)出汽車,有顏色、輪胎個(gè)數(shù),有運(yùn)行的功能。
分析:
如何描述現(xiàn)實(shí)生活中的事物,描述該事物的屬性和行為,汽車具有顏色和輪胎數(shù)的屬性,具備運(yùn)行的行為。
如何使用Java語(yǔ)言進(jìn)行轉(zhuǎn)換?
根據(jù)對(duì)應(yīng)關(guān)系:
重點(diǎn)內(nèi)容
屬性:類中的成員變量
行為:類中的成員函數(shù)
那么定義Java類就是定義一個(gè)類的成員。汽車類具備的成員是顏色,輪胎數(shù),運(yùn)行方法。
public class Car {String color;//成員變量int num;//成員變量//成員函數(shù)void run(){System.out.println(color + "的車,輪胎數(shù): " + num + "個(gè),跑起來(lái)了");} }對(duì)象的創(chuàng)建
創(chuàng)建Car對(duì)象
public class CarDemo {public static void main(String[] args) {//java中創(chuàng)建對(duì)象,使用new關(guān)鍵字在堆內(nèi)存中開辟了空間,產(chǎn)生了一個(gè)實(shí)體。//為了方便使用生產(chǎn)的汽車,就起了一個(gè)名字car//car是Car類型,叫做類變量Car car = new Car(); //使用對(duì)象的功能car.run();} }對(duì)象成員的調(diào)用
public class CarDemo {public static void main(String[] args) {Car car = new Car();//對(duì)象名.成員變量名將返回成員變量中存儲(chǔ)的數(shù)值int num = car.num;System.out.println(num); //對(duì)象名.成員變量名也可以給成員變量賦值car.num = 4;car.color = "black"; //對(duì)象名.成員方法car.run();} }今天就分享到這,后續(xù)會(huì)繼續(xù)分享,敬請(qǐng)期待!
聲明:文章首發(fā)于我的個(gè)人微信公眾號(hào)Java編程社區(qū),查看更多文章與學(xué)習(xí)資源請(qǐng)移步我的公眾號(hào)Java編程社區(qū)
總結(jié)
以上是生活随笔為你收集整理的Java学习笔记——面向对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 图文结合分析Spring的面向切面编程-
- 下一篇: Java学习笔记——局部变量和成员变量