-
- 素材大。
- 369 KB
- 素材授權:
- 免費下載
- 素材格式:
- .ppt
- 素材上傳:
- lipeier
- 上傳時間:
- 2019-03-24
- 素材編號:
- 227005
- 素材類別:
- 課件PPT
-
素材預覽
這是java抽象類ppt,包括了抽象類與抽象方法, 抽象類和最終類 ,接口的概念,接口定義格式,實現(xiàn)接口,接口與抽象類的區(qū)別,接口的應用等內容,歡迎點擊下載。
java抽象類ppt是由紅軟PPT免費下載網(wǎng)推薦的一款課件PPT類型的PowerPoint.
第 四 章 抽象類和接口 Java中的抽象類、接口和程序包 ——抽象類與抽象方法 抽象類:用abstract關鍵字來修飾一個類時,該類叫做抽象類; 抽象類必須被繼承。 抽象類不能被直接實例化。它只能作為其它類的超類,這一點與最終類(final類)正好相反。 抽象方法:用abstract來修飾一個方法時,該方法叫做抽象方法。 抽象方法必須被重寫 抽象方法只有聲明,不能有實現(xiàn)。 定義了抽象方法的類必須是抽象類。 abstract returnType abstractMethod ( [paramlist] ); ——抽象類與抽象方法 抽象類和最終類 抽象類和最終類 規(guī)定: 抽象類不能被直接實例化,只有它的非抽象子類可以創(chuàng)建對象 抽象類中不一定包含抽象方法,但有抽象方法的類必定是抽象類 抽象類中的抽象方法只是聲明,不包含方法體,即不給出方法的實現(xiàn) 構造方法、類方法不能聲明為抽象方法 抽象類的子類必須給出抽象類中的抽象方法的具體實現(xiàn),除非該子類也是抽象類 抽象類和最終類 抽象類的意義: 描述抽象的概念,規(guī)定必須實現(xiàn)的方法的統(tǒng)一接口 關于抽象類和抽象方法 Abstracttest.java 最終類和最終方法 final關鍵字修飾的類稱為最終類,最終類不能被繼承 final關鍵字修飾的方法稱為最終方法,最終方法不能被覆蓋 最終方法和最終類沒有必然的對應關系 Java中的接口 接口的概念 在構建問題的類過程中,我們經(jīng)常會遇到一種特殊的情況,在描述某個類的各個方法時,對每個方法我們只能給出其功能實現(xiàn)的要求(原形聲明)但不能給出具體的功能實現(xiàn)(函數(shù)定義體)。 因為我們所處理的問題只是一個泛泛的功能說明,并沒有針對某一具體類型的問題來說明。 接口定義格式 實現(xiàn)接口 方法: 通過定義一個類同時采用implements來指明所實現(xiàn)的接口名,并在該類中重寫接口中的所有成員方法且給出成員函數(shù)體定義。 要點 類中所實現(xiàn)的接口中的成員函數(shù)的原型都應該與它在 接口中的原型定義保持一致; 并在類中重寫接口中的所有成員方法; 通過實現(xiàn)接口,從而可擴充或增加該類的功能。 接口只定義方法名,而類實現(xiàn)接口內部的方法的代碼 接口的繼承只是繼承接口本身,而非代碼,從而不會產(chǎn)生重復繼承多次。 注意的 一個類可以實現(xiàn)多個接口 實現(xiàn)接口的類必須給出接口中所有方法的具體實現(xiàn)!除非這個類是抽象類 接口的作用 接口提供了完全的抽象 說明所有實現(xiàn)該接口的類應具有的形式 接口中的方法在多個實現(xiàn)接口的類中表現(xiàn)出多態(tài)性 接口回調 接口也是引用數(shù)據(jù)類型,指向接口的引用也可以指向任意實現(xiàn)了該接口的類創(chuàng)建的實例 接口回調,即接口的引用可以指向實現(xiàn)了接口的類的實例 例子:Interfacetest.java 例子 interface Computer { public void ComputeData(); //計算機應該有數(shù)據(jù)計算的功能 public void SaveData(); //計算機應該有存儲數(shù)據(jù)的功能 public void PrintData(); //計算機應該有打印數(shù)據(jù)的功能 public void DisplayData(); //計算機應該有顯示數(shù)據(jù)的功能 } 抽象類和接口的對比 接口和類是很相似但又有區(qū)別的一種數(shù)據(jù)結構,其設計和調用也是JAVA程序設計的一種重要技術。 從結構上看,接口有如下特點: 接口用interface來定義,而不是class 接口中定義的變量去全部是最終的靜態(tài)變量 接口中沒有自身的構造方法,不能創(chuàng)建實例,而定義的 其他方法全是抽象方法,即提供了方法的定義,但是沒有提供方法的實現(xiàn)。 接口采用多重繼承機制,而不是采用單一的繼承機制。 接口與抽象類的區(qū)別 抽象類的應用 abstract class Person { private int ID; private String Name; public abstract void Eat(Food obj); public void Step(Feet obj) { } public void Sleep() { } }在描述某一個問題時,如果只能給出部分的功能實現(xiàn),而不能給出全部的功能實現(xiàn)時,應該采用抽象類來描述。 接口的應用 interface TV { public int Size=29; public abstract void showImage(); public abstract void setChannel(); public abstract void receiveImage(); }在描述某一個問題時,如果不能給出任何的功能實現(xiàn),應該采用接口來描述。 內部類 內部類 內部類作用 與接口一起實現(xiàn)完整的多重繼承 內部類作用 InnerClass.java 內部類具有訪問外部類的引用 內部類 匿名內部類 當只需創(chuàng)建一個類的對象而用不上它的名字時,可以使用匿名內部類 匿名內部類由于沒有名字,所以它沒有帶名字的構造函數(shù) java的匿名內部類的語法規(guī)則看上去有些古怪,當你只需要創(chuàng)建一個類的對象而且用不上它的名字時,使用內部類可以使代碼看上去簡潔清楚。它的語法規(guī)則是這樣的: new interfacename(){......}; 或 new superclassname(){......}; 有一點需要注意的是,匿名內部類由于沒有名字,所以它沒有帶名字的構造函數(shù)(但是如果這個匿名內部類繼承了一個只含有帶參數(shù)構造函數(shù)的父類,創(chuàng)建它的時候必須帶上這些參數(shù),并在實現(xiàn)的過程中使用super關鍵字調用相應的內容)。如果你想要初始化它的成員變量,有下面幾種方法: 如果是在一個方法內部的匿名內部類,可以利用這個方法傳進你想要的參數(shù),不過記住,這些參數(shù)必須被聲明為final。 將匿名內部類改造成有名字的局部內部類,這樣它就可以擁有有名字的構造函數(shù)了。 在這個匿名內部類中使用初始化代碼塊。 匿名內部類實例 class PackBox { interface Goods //定義內部接口 { String getName(); } Goods SportShoe () { return new Goods() {//匿名內部類 String name = "運動鞋"; int price = 200; public String getName(){return name;} }; } } //事實上匿名內部類必須繼承一個類或實現(xiàn)一個接口
孫鑫java ppt:這是孫鑫java ppt,包括了Java的起源,我們?yōu)槭裁匆肑ava,Java跨平臺的原理,Java開發(fā)工具包(JDK)的下載,面向對象程序設計,一個簡單的例子等內容,歡迎點擊下載。
張孝祥java基礎ppt:這是張孝祥java基礎ppt,包括了配套書籍,Java郵件開發(fā)介紹,課程目標,為什么要學習郵件開發(fā),如何學習郵件開發(fā),電子郵件的一些基本常識,郵件內容的組織結構等內容,歡迎點擊下載。
javamail ppt:這是javamail ppt,包括了JavaMail基礎知識,發(fā)送簡單郵件,發(fā)送SMTP身份認證的郵件,接收郵件,郵件附件的處理等內容,歡迎點擊下載。