面向對象的程序設計,簡稱OOP(Object-oriented Programming)是目前各大互聯網公司主流的程序設計範型,如今絕大部分招聘崗位都要求精通OOP編程,它取代了以前的面向過程的編程,必須精通OOP才能寫好Java程序,可見接下來課程的重要性。java
學完這次課程將瞭解對象和引用的概念,以及如何定義和使用,以及面向對象的一些特性。編程
5-10分鐘學習
Java核心技術卷1中寫的有點混亂,看的我一頭霧水,因此面向對象編程按《Java編程思想》的提綱來學習。設計
面向對象的程序中一切都是對象,每一個對象包含對用戶公開的部分功能和隱藏的實現部分,在OOP中,沒必要關心對象的具體實現,只要能知足用戶的需求便可。3d
Java中儘管一切都看做爲對象,但實際上咱們操做的是對象的引用。好比String s,這裏的s只是一個String對象的引用,它並非對象。若是此時對s進行操做編譯器會報錯,咱們必須把引用和對象相關聯,也就是說對引用進行初始化。對象
在前面的課程咱們已經寫了一些簡單的類,可是他們都像上面的例子同樣只包含了一個簡單的main方法。接下來咱們看一下如何設計各類主力類(workhorse class),他們一般沒有main方法,只有本身的實例域和實例方法,要想建立一個完整的項目,應該把若干的類組合在一塊兒,可是隻能在一個類中使用main()方法。blog
什麼是構造方法?get
構造方法的名稱與類名相同,且無返回值。編譯器
構造方法的做用是什麼?編譯
構造方法會在類實例化時執行,可用於賦值或者初始化。
私有域:方法能夠訪問本對象的私有數據,如上例中的私有變量name,可經過public getName來訪問。在實現一個類時,公有數據是比較危險的,因此應該把全部數據域定義爲私有,經過共有方法來訪問。
私有方法:不少時候咱們在實現一個類時須要多個輔助的方法來實現,可是這些方法又不想被隨意調用,那咱們可使private關鍵字,定義私有方法,只有本類內能夠調用。
能夠將實例域定義爲final,建立對象時必須初始化,值不能被修改。
若是將域定義爲static,每一個類中只能有一個這樣的域。不管有多少個類的對象,靜態域只會有一個,而實例域每一個對象都會存在一份。
靜態變量使用的較少,可是靜態常量卻使用的比較多,咱們能夠把靜態常量設置爲final,禁止修改。
語法:
什麼狀況下使用靜態方法?
一個方法不須要訪問對象狀態,其所需參數都是經過顯示參數提供,不須要實例化。
一個方法只須要訪問類的靜態域。
面向對象學起來有點枯燥,你們必定要理解,並多多練習。