201571030332 扎西平措 《面向對象程序設計Java》第八週學習總結

 《面向對象程序設計Java》第八週學習總結html

 

項目java

內容編程

這個做業屬於哪一個課程設計模式

https://www.cnblogs.com/nwnu-daizh/數組

這個做業的要求在哪裏函數

https://www.cnblogs.com/nwnu-daizh/p/11703678.htmlpost

 

 

    做業學習目標學習

  1. 掌握接口定義方法;
  2. 掌握實現接口類的定義要求;
  3. 掌握實現了接口類的使用要求;
  4. 理解程序回調設計模式;
  5. 掌握Comparator接口用法;
  6. 掌握對象淺層拷貝與深層拷貝方法;
  7. 掌握Lambda表達式語法;
  8. 瞭解內部類的用途及語法要求。

 

第一部分  基礎知識測試

1、第五章知識點鞏固spa

(1)封裝、繼承和多態是面向對象的主要特徵。

(2)繼承可提升代碼重用性,用extends關鍵字來實現,處構造方法以外,父類的全部方法和屬性都被子類繼承。同時也是多態特徵的前提。

(3)繼承創建了類與類之間的關係,同時也是多態特徵的前提。

(3JAVA值支持單繼承,不直接支持多繼承(避免兩個父類出現同名方法的調用選擇困難)。

(4final類不容許被繼承:類中final方法不容許被子類重寫。

(5abstract修飾的抽象類不能被實例化爲對象,只能闊展子類:抽象類中的方法充當着佔位的角色。他們的具體實如今子類中。

(6)父/子類成員的使用特色:

     屬性域:子類中若是想要調用父類中的屬性值,須要使用一個關鍵字:supper

     成員方法:當父/子類中出現同名方法時,創建子類對象則運行子類中的方法。

     構造方法:由於子類繼承父類,需繼承到父類的數據,因此子類構造方法第一行先調用父類的構造方法(supper方法)

(7)方法多態分類:

         靜態(編譯)解析:方法重載

         動態綁定解析:方法覆寫

    (8)控制可見性的4個訪問權限修飾符:publicprotectedfriendlyprivate.(必須掌握!!!)

(9Object類是全部類的超類。Java.lang  

該類的經常使用API有:—equals()  -toString()   -getname()   -hashCode()

(10)ArrayList類是一個採用類型參數的範數數組類:

       Java.util   例如:ArrayList<Employee> staff=new ArrayList<Employee>();

      該類常見的API有:-add()  -size()  -get()

(11JAVA爲解決基本數據類型演變爲類對象的問題,JAVA定義與基本數據類型對應的對象包裝器類。

(12)對象包裝器類:與各個基本類型對應的類,都是從公共包裝器類Number繼承而來的,這些類有:-Integer  Long  Float   Double  Short  Byte  Character   Void  Boolean

(13)用關鍵字enum可定義用戶自定枚舉類:

      用戶自定義枚舉類的超類是Enum類:java.lang

      Enum類的常見的API有(190):

   -valueOf()  -toString()  -Ordianl()  -compareTo()

(14)類之間的關係:

      依賴:若是有一個類中的方法操做了另外一個類的對象,那麼這個類就依賴於另外一個類。

      聚合:類A的 對象包含類B的對象。

      繼承:表示一個特定的類和一個通常的類之間的關係。通常來講類A繼承了類B,那麼類A不只繼承類B的方法和狀態,並且還有屬於本身的方法和狀態。

2、第六章知識內容

(1)接口、lambda表達式和內部類

(a)接口:java爲了克服單繼承的缺點,java使用了接口,一個類能夠實現一個或多個接口。

(b)在Java中,接口不是類,而是對類的一組需求描述,有常量和一組抽象方法組成。接口中不包括變量和有具體實現的方法。只要類實現了接口,則該類要聽從接口描述的贊成格式進行定義,而且能夠在任何須要該接口的地方使用這個類的對象。

(c)接口類型:

a 用戶自定義接口,

b 標準接口。

自定義接口的聲明:  public  interface  接口名{...}

接口體中包含常量定義和抽象方法定義,在接口中之進行方法的聲明,不提供方法的實現。

         C 相似創建類的繼承關係,接口也能夠擴展

(d)擴展方法:

          Public interface 接口1   extends  接口2

{.......}

注意:一般接口的名字以ableible結尾。

可使用extends來繼承接口的常量和抽象方法,擴展造成新的接口。

  接口中的全部常量必須是public static final,方法必須是public abstract,這是系統默認的,寫不寫修飾符都是同樣的。

 

(2)接口的實現

在類聲明是用implements關鍵字聲明使用一個或多個接口:

Class   Employee   implements  Cloneable, Comparable(實現多接口)

說明:實現接口的類不是抽象類,則必須實現全部接口的全部方法,即爲全部的抽象方法定義方法體。

一個類在實現某接口抽象方法時,必須使用徹底相同的方法名、參數列表和返回值類型。

接口抽象方法的訪問控制符已指定爲public,因此立類在實現時,必須現實地使用public修飾符。負責會被警告縮小了接口中定義的方法的訪問控制範圍。

 (3)接口的使用

接口不能構造接口對象但能夠聲明接口變量以指向一個實現了該接口的類對象。

例:Comparable x=new Employee(...)

  (4)接口與抽象類

抽象類:用abstract來聲明,沒有具體實例對象的類,不能用new來建立對象。可包含常規類所包含的任何東西。抽象類必須有子類繼承,若是abstract類的子類不是抽象類,那麼子類必須重寫父類中全部方法的abstract方法。

接口:用interface聲明,是抽象方法和常量值定義的集合。接口是一種特殊的抽象類,當中只包含常量和法昂發的定義,二沒有變量和的方法。接口中只能定義抽象方法並且這些方法默認的是Publicde .只要實現了接口,就能夠在任何須要該接口的地方使用這個類的對象。此外,一個類能夠實現多個接口。

(5)接口與抽象類的區別

    a>接口不能實現任何方法二抽象類方法能夠。

    b>類能夠時下按多個接口但只有一個類。

    c>接口不是類分級的一部分,無任何聯繫的類能夠實現相同的接口。

(6)接口與回調

         回調:能夠指出某個特定的事件發生時程序應採起的動做的模式。

(7)Comparator接口

         Comparator接口所在的包爲:java.util.*

         Comparator接口定義

         public interface  Comparator<T>{

            int compare(T o1,T o2);.

            ......

            }

         Comparator 接口可用來處理字符串按長度進行排序的操做。

(8)對象克隆

    a>Object類的克隆方法

   當拷貝一個對象變量時,原始變量與拷貝變量引用同一個變量。改變一個變量所引用的對象會對兩一個變量產生影響。

   若是要建立一個對象新的Copy,它的最初狀態與Original類的克隆方法。

Object類中的clone()方法是一個native方法。

Object類中的Clone()方法被protect修飾符修飾(意味着用戶不能直接調用它)。若是要直接調用clone(),就須要覆蓋clone()方法,並將Clone()方法屬性設置成爲public.

Object clone()方法返回一個Object對象。

    b>淺層拷貝與深層拷貝

    淺層拷貝:被拷貝的對象的全部成員域全部常量成員和基本類型屬性都有與原來對象相同的拷貝值,而當成員域是一個對象,則被拷貝的對象域的該對象引用任然指向原來的對象。

   深層拷貝:被拷貝的全部成員域都含有域原來對象的相同的值,且對象域將指向被複制過的新對象而不是源於對象被複制過的對象。深層拷貝將拷貝對象內引用的對象也拷貝一遍。

    c>Java中對象克隆的實現

      在子類中實現Cloneable接口。

      爲了獲取對象的一份拷貝,能夠利用Object類中的Clone方法。

      在子類中覆蓋超類的clone方法,聲明爲Public。

      在子類的clone方法中,調用super.clone().

(9)對象克隆的要點

    在類中實現Cloneable接口   

    爲了獲取對象的一份拷貝,使用Objcet類的clone方法。

    在類中覆蓋超類的clone方法,聲明爲public。

    在類的clone方法中,調用super.clone().

(10)Lambda的表達式

    Lambda的主要用途是提供一個函數化的語法來簡化編程。Lambda的表達式本質上是一個匿名方法。

    Public  int  add(int  x, int  y){

     return  x+y; }

    Lambda表達式的基本語法結構

(argument)—>body

   第二部分 實驗內容和步驟

實驗1 導入第6章示例程序,測試程序並進行代碼註釋。

測試程序1:

編輯、編譯、調試運行閱讀教材214頁-215頁程序6-1、6-2,理解程序並分析程序運行結果;

在程序中相關代碼處添加新知識的註釋。

掌握接口的實現用法;

掌握內置接口Compareable的用法。

相關文章
相關標籤/搜索