freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

清華面向?qū)ο蟪绦蛟O(shè)計(jì):第04章-閱讀頁

2024-11-02 17:16本頁面
  

【正文】 public void sound() { (Quack quackquack)。這是因?yàn)樵诂F(xiàn)實(shí)世界中,每個(gè)動物都一定屬于某個(gè)特定的種類,因此,這個(gè)類中的 sound()成員方法的方法體為空,即本身沒有任何特定的操作,只是為了實(shí)現(xiàn)多態(tài)性而設(shè)置。 測試類的定義: public class TryPolymorphism //測試類 { public static void main(String[] args) { Animal[] theAnimals={ //創(chuàng)建包含 Dog、 Cat和 Duck對象的數(shù)組 new Dog(Rover,Poodle), new Cat(Max,Abyssinian), new Duck(Daffy,Aylesbury) }。 //聲明父類的引用 Random select=new Random()。i5。 (\nYour Choice:\n+petChoice)。 } } } 每次執(zhí)行 sound()成員方法時(shí)都將根據(jù) petChoice當(dāng)前引用的對象類型 調(diào)用相應(yīng)的代碼段,這就是典型的多態(tài)性效果。在 Java語言中,用抽象 類表示概念性的事物,用類表示可實(shí)例化的實(shí)體類 別,例如,可以用 “ 學(xué)生 ” 類描述 “ 學(xué)生 ” 這個(gè)抽象的 概念,用 “ 小學(xué)生 ” 、 “ 中學(xué)生 ” 、 “ 大學(xué)生 ” …… 描 述具體的學(xué)生類別,這些類可以被實(shí)例化,是 “ 學(xué) 生 ” 概念的具體體現(xiàn)。 其 格式如下所示: abstract class className…… { //成員變量和成員方法 } 其中的成員方法既可以是抽象方法 , 也可以是一般的成員方 法 。 其具體定義格式為: abstract returnType methodName(parameterList) 其中 , abstract是聲明抽象方法的關(guān)鍵字 , returnType是返 回類型 , methodName是抽象方法的名稱 , parameterList是 參數(shù)列表 。 使用抽象類時(shí),需要注意下面幾點(diǎn): ?任何包含抽象方法的類都必須被定義成抽象類 ?由于抽象類不是一個(gè)完整的類,因此不能夠被實(shí)例化 ?抽象類主要用來派生子類,且在子類中必須覆蓋抽象類中的所有抽象方法,以便完善它們的定義 ?static、 private和 final修飾符不能應(yīng)用于抽象方法和抽象類中。 在接口中 , 只允許出現(xiàn)常量和成 員方法的定義 , 常量必須為 public static final, 因此可 以省略 , 成員方法必須是抽象方法 , 所以也可以省略 abstract修飾符 。 //1英寸 = double OUNCE_TO_GRAM=。 //1磅 = double HP_TO_WATT=。 //1瓦特 = double inchToMM(double inches)。 //盎司轉(zhuǎn)換成克 double poundToGram(double pounds)。 //馬力轉(zhuǎn)換成瓦特 double wattToHP(double watts)。 實(shí)現(xiàn) Conversions接口的類定義 public class MyClass implements Conversions //實(shí)現(xiàn) Conversions接口 { public double inchToMM(double inches) { return inches*INCH_TO_MM。 } public double poundToGram(double pounds) { return inches*POUND_TO_GRAM。 } public double wattToHP(double watts) { return inches* WATT _TO_ HP。 這樣一來 ,就可以通過 MyClass類細(xì)化接口中的所有操作 。 例如: MyClass MyObject=new MyClass()。 如果在類定義時(shí),指明實(shí)現(xiàn)某個(gè)接口,但在類中 并沒有覆蓋接口中的所有抽象方法,則這個(gè)類就必 須被聲明成抽象類 : public abstract class MyClass implements Conversions { public double inchToMM(double inches) { return inches*INCH_TO_MM。 } } 由于這個(gè)類是抽象類 , 所以不能創(chuàng)建該類的對 象 , 必須再定義一個(gè) MyClass子類 , 并在這個(gè)子類 中實(shí)現(xiàn)上述接口中的其余方法 。我們可以將各式各樣的常量放在接口中,讓每個(gè)使用這些常量的類對象實(shí)現(xiàn)這個(gè)接口,從而達(dá)到享有這些常量的目的 ?用接口實(shí)現(xiàn)多態(tài)性。將所有的類和接口按功 能分別放置在不同的包中主要有兩點(diǎn)好處:一是便 于將若干個(gè)已存在的類或接口整體地添加到程序代 碼中;二是避免出現(xiàn)類名沖突的現(xiàn)象。 創(chuàng)建包 包的概念是通過創(chuàng)建目錄實(shí)現(xiàn)的。在創(chuàng)建的目錄下,既可以存放類文件或接口文件,也可以包含子目錄,這些子目錄是該包中的子包。 包的實(shí)例 若將類文件放入 userPackage中 , 可以這樣寫: package userPackage。 如果在 一個(gè)類文件中 , 包含了這樣一條語句 , 系統(tǒng)就會自 動地在指定路徑下尋找這個(gè)包 , 即目錄名 。 如果希 望將在一個(gè)文件中定義的類或接口放在不同的包 中 , 就只能將它們分別放在不同的文件中 , 并利用 包語句指定不同的包 。 例 如 , 若希望將一個(gè)類文件放入 userPackage1的子包 userPackage2的子包 userPackage3中 , 就應(yīng)該將包 語句寫成: package userPackage1. userPackage2. userPackage3。導(dǎo)入 語句的基本格式為 import后跟包名序列及類名。 userPackage是包名 , .*代表將包中的所有類和接 口都加載進(jìn)來 。 這條語句表示將 userPackage1包中的子包 userPackage2的子包 userPackage3中的所有類和接口加載進(jìn)來 。 包含支持輸入 /輸出操作的所有標(biāo)準(zhǔn)類。 提供支持 ‘ Swing’的 GUI組件的類。 支持 Swing組件的事件處理類。 包含支持圖象處理的類。 包括支持管理數(shù)據(jù)集合、訪問數(shù)據(jù)和時(shí)間信息,以及分析字符串的類。 包括支持事件處理的類。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1