1. 面向對象能夠幫助咱們從宏觀上把握、從總體上分析整個系統。 可是具體到實現部分的微觀操做(就是一個個方法),仍然須要面向過程的思路去處理。java
2. 類能夠當作一類對象的模板,對象能夠當作該類的一個具體實例。程序員
3. 對於一個類來講,通常有三種常見的成員:屬性field、方法method、構造器constructor。ide
4. 構造器也叫構造方法,用於對象的初始化。構造器是一個建立對象時被自動調用的特殊方法,目的是對象的初始化。構造器的名稱應與類的名稱一致。this
5. Java引入了垃圾回收機制,令C++程序員最頭疼的內存管理問題迎刃而解。Java程序員可將更多的精力放到業務邏輯上而不是內存管理工做,大大提升開發效率。線程
6. this的本質就是「建立好的對象的地址」! this不能用於static方法中。code
7. 在類中,用static聲明的成員變量爲靜態成員變量,也稱爲類變量。類變量的生命週期和類相同,在整個應用程序執行期間都有效。在static方法中不可直接訪問非static的成員。對象
8. Java方法中全部參數都是「值傳遞」,也就是「傳遞的是值的副本」。也就是說,咱們獲得的是「原參數的複印件,而不是原件」。所以,複印件改變不會影響原件。繼承
9. 經過package實現對類的管理;若是咱們要使用其餘包的類,須要使用import導入,從而能夠在本類中直接經過類名來調用。接口
· 高級語言可分爲:面向過程和麪向對象兩大類生命週期
1. 面向過程與面向對象都是解決問題的思惟方式,都是代碼組織的方式。 2. 解決簡單問題能夠使用面向過程。 3. 解決複雜問題:宏觀上使用面向對象把握,微觀處理上仍然是面向過程。
· 對象和類的關係是特殊到通常,具體到抽象的關係。
· 棧內存
1. 每一個線程私有,不能實現線程間的共享! 2. 局部變量放置於棧中。 3. 棧是由系統自動分配,速度快!棧是一個連續的內存空間!
· 堆內存
1. 放置new出來的對象! 2. 堆是一個不連續的內存空間,分配靈活,速度慢!
· 方法區
1. 被全部線程共享! 2. 用來存放程序中永遠是不變或惟一的內容(類代碼信息、靜態變量、字符串常量)。
· 屬性用於定義該類或該類對象包含的數據或者說靜態屬性。屬性做用範圍是整個類體。Java使用默認的值對其初始化。
· 方法則用於定義該類或該類實例的行爲特徵和功能實現。方法是類和對象行爲特徵的抽象。
· 構造器又叫作構造方法(constructor),用於構造該類的實例。Java經過new關鍵字來調用構造方法,從而返回該類的實例,是一種特殊的方法。
· 垃圾回收機制
1. 程序員無權調用垃圾回收器。 2. 程序員能夠經過System.gc()通知垃圾回收器(Garbage Collection,簡稱GC)運行,可是Java規範並不能保證馬上運行。 3. finalize方法,是Java提供給程序員用來釋放對象或資源的方法,可是儘可能少用。
· 方法的重載是指一個類中能夠定義有相同的名字,但參數不一樣的多個方法。 調用時,會根據不一樣的參數表選擇對應的方法。
· this關鍵字的做用
1. 讓類中的一個方法,訪問該類的另外一個方法或屬性。 2. 使用this關鍵字調用重載構造方法,能夠避免相同的初始化代碼,只能在構造方法中用,而且必須位於構造方法的第一句。
· static關鍵字
1. 在類中,用static聲明的成員變量爲靜態成員變量,也稱爲類變量。 2. 用static聲明的方法爲靜態方法。 3. 能夠經過對象引用或類名(不須要實例化)訪問靜態成員。
· package的做用
1. 能夠解決類之間的重名問題。 2. 便於管理類:合適的類位於合適的包!
· impport的做用
1. 經過import能夠導入其餘包下面的類,從而能夠在本類中直接經過類名來調用。
· super關鍵字的做用
1. super是直接父類對象的引用。能夠經過super來訪問父類中被子類覆蓋的方法或屬性。
· 面向對象的三大特徵:繼承、封裝、多態。
· Object類是全部Java類的根基類。
· 訪問權限控制符:範圍由小到大分別是private、default、protected、public。
· 引用變量名 instanceof 類名 來判斷該引用類型變量所「指向」的對象是否屬於該類或該類的子類。
· final關鍵字能夠修飾變量、修飾方法、修飾類。
· 抽象類是一種模版模式。抽象類爲全部子類提供了一個通用模版,子類能夠在這個模版基礎上進行擴展,使用abstract修飾。
· 使用abstract修飾的方法爲抽象方法必須被子類實現,除非子類也是抽象類。
· 使用interface聲明接口
1. 從接口的實現者角度看,接口定義了能夠向外部提供的服務。 2. 從接口的調用者角度看,接口定義了實現者能提供哪些服務。
· 內部類分爲成員內部類、匿名內部類和局部內部類。
· String位於java.lang包中,Java程序默認導入java.lang包。
· 字符串的比較"=="與equals()方法的區別。
· 高級語言可分爲:面向過程和麪向對象兩大類
1. 面向過程與面向對象都是解決問題的思惟方式,都是代碼組織的方式。 2. 解決簡單問題能夠使用面向過程。 3. 解決複雜問題:宏觀上使用面向對象把握,微觀處理上仍然是面向過程。
· 對象和類的關係是特殊到通常,具體到抽象的關係。
· 棧內存
1. 每一個線程私有,不能實現線程間的共享! 2. 局部變量放置於棧中。 3. 棧是由系統自動分配,速度快!棧是一個連續的內存空間!
· 堆內存
1. 放置new出來的對象! 2. 堆是一個不連續的內存空間,分配靈活,速度慢!
· 方法區
1. 被全部線程共享! 2. 用來存放程序中永遠是不變或惟一的內容(類代碼信息、靜態變量、字符串常量)。
· 屬性用於定義該類或該類對象包含的數據或者說靜態屬性。屬性做用範圍是整個類體。Java使用默認的值對其初始化。
· 方法則用於定義該類或該類實例的行爲特徵和功能實現。方法是類和對象行爲特徵的抽象。
· 構造器又叫作構造方法(constructor),用於構造該類的實例。Java經過new關鍵字來調用構造方法,從而返回該類的實例,是一種特殊的方法。
· 垃圾回收機制
1. 程序員無權調用垃圾回收器。 2. 程序員能夠經過System.gc()通知垃圾回收器(Garbage Collection,簡稱GC)運行,可是Java規範並不能保證馬上運行。 3. finalize方法,是Java提供給程序員用來釋放對象或資源的方法,可是儘可能少用。
· 方法的重載是指一個類中能夠定義有相同的名字,但參數不一樣的多個方法。 調用時,會根據不一樣的參數表選擇對應的方法。
· this關鍵字的做用
1. 讓類中的一個方法,訪問該類的另外一個方法或屬性。 2. 使用this關鍵字調用重載構造方法,能夠避免相同的初始化代碼,只能在構造方法中用,而且必須位於構造方法的第一句。
· static關鍵字
1. 在類中,用static聲明的成員變量爲靜態成員變量,也稱爲類變量。 2. 用static聲明的方法爲靜態方法。 3. 能夠經過對象引用或類名(不須要實例化)訪問靜態成員。
· package的做用
1. 能夠解決類之間的重名問題。 2. 便於管理類:合適的類位於合適的包!
· impport的做用
1. 經過import能夠導入其餘包下面的類,從而能夠在本類中直接經過類名來調用。
· super關鍵字的做用
1. super是直接父類對象的引用。能夠經過super來訪問父類中被子類覆蓋的方法或屬性。
· 面向對象的三大特徵:繼承、封裝、多態。
· Object類是全部Java類的根基類。
· 訪問權限控制符:範圍由小到大分別是private、default、protected、public。
· 引用變量名 instanceof 類名 來判斷該引用類型變量所「指向」的對象是否屬於該類或該類的子類。
· final關鍵字能夠修飾變量、修飾方法、修飾類。
· 抽象類是一種模版模式。抽象類爲全部子類提供了一個通用模版,子類能夠在這個模版基礎上進行擴展,使用abstract修飾。
· 使用abstract修飾的方法爲抽象方法必須被子類實現,除非子類也是抽象類。
· 使用interface聲明接口
1. 從接口的實現者角度看,接口定義了能夠向外部提供的服務。 2. 從接口的調用者角度看,接口定義了實現者能提供哪些服務。
· 內部類分爲成員內部類、匿名內部類和局部內部類。
· String位於java.lang包中,Java程序默認導入java.lang包。
· 字符串的比較"=="與equals()方法的區別。