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

正文內(nèi)容

java第4章面向?qū)ο蟮某绦蛟O(shè)計(jì)(參考版)

2025-06-16 07:13本頁(yè)面
  

【正文】 */ D:\java 引用包 引入: 程序包使得 Java程序的組織結(jié)構(gòu)層次化,也使得類(lèi)名層次化。 } } 程序運(yùn)行: /* ― d 目錄 ”參數(shù)功能是自動(dòng)建立程序包對(duì)應(yīng)的子目錄,并將生成的字節(jié)碼文件放在該目錄下。 public class ClassOne { public static void main( String[ ] args ) { (類(lèi) ClassOne 屬于程序包 packageone。 ④ 該聲明語(yǔ)句必須放在源文件除注釋和空白之外的第一條語(yǔ)句,否則會(huì)出現(xiàn)編譯錯(cuò)誤。 ② package是 Java語(yǔ)言的保留字,程序包名是 Java語(yǔ)言的一個(gè)合法的標(biāo)識(shí)符,或者是由句點(diǎn)(“ .” )分隔的幾個(gè)標(biāo)識(shí)符。 2. 格式 說(shuō)明 : 3. 程序舉例: 注意: 包名在 Java編碼規(guī)范中約定全部采用小寫(xiě)字母表示。 例如:根類(lèi) Object 的全名是: 。 全名 : 給出該類(lèi)或接口所在的程序包的名稱(chēng)。 Java程序的組織 2. 作用: ① 程序包使得 Java程序能夠更加層次化的進(jìn)行組織,減少名字沖突問(wèn)題。 ④ 多數(shù)操作系統(tǒng)下的 Java運(yùn)行平臺(tái)都利用文件系統(tǒng)組織程序包和編譯單元。 [結(jié)論 ] 程序包、子程序包、編譯單元、類(lèi)或接口 構(gòu)成了 Java程序的邏輯組織結(jié)構(gòu)。 說(shuō)明: ( 4點(diǎn)) ① 這些類(lèi)和接口可分別在不同的 .java 文件定義,每個(gè)文件稱(chēng)為一個(gè)編譯單元。 } } 包 ? Java程序的組織 ? 定義 包 ? 引用 包 ? 包級(jí)訪(fǎng)問(wèn)控制 Java程序的組織 Java語(yǔ)言引入程序包可以更加層次化地組織一個(gè)大型的 Java程序。 (Circle area()=+())。 } public double volume() //實(shí)現(xiàn)子接口 shape3D中的方法 { return 4*PI*radius*radius*radius/3。 public Circle(double r) { radius=r。 } interface shape3D extends shape2D //定義子接口 { public abstract double volume()。 } 接口的繼承 3. 接口的繼承用法程序舉例: interface shape2D //定義父接口 { double PI=。 void stop( ) 。 接口的繼承 public interface PlayClip { void play( ) 。 ① 解釋說(shuō)明: ② 程序舉例: 接口的繼承 接口的繼承 解釋說(shuō)明:例如, 它本身是一個(gè)抽象類(lèi),它自己又實(shí)現(xiàn)了接口 中定義的方法,即接口 中定義的方法它都進(jìn)行過(guò)抽象的實(shí)現(xiàn),因此,它所對(duì)應(yīng)的接口就是 。所以如果一個(gè)類(lèi)繼承了與接口對(duì)應(yīng)的抽象類(lèi)(前提:該類(lèi)不能再繼承其他類(lèi)),就不需要實(shí)現(xiàn)所有抽象方法。類(lèi) Circle(圓形)實(shí)現(xiàn)了子接口 shape3D(重定義子接口和父接口中的抽象方法,給出具體的方法體)。在多重繼承的條件下,如果子接口被一個(gè)類(lèi)實(shí)現(xiàn),那么這個(gè)類(lèi)必須實(shí)現(xiàn)子接口和所有父接口中定義的方法。 接口的繼承 3. 說(shuō)明 ( 4點(diǎn)) ⑵ 由于接口的繼承層次與類(lèi)的繼承層次不會(huì)混淆,因此允許父類(lèi)和子類(lèi)同時(shí)實(shí)現(xiàn)同一個(gè)接口并給出不同的實(shí)現(xiàn)(不過(guò)在子類(lèi)中實(shí)現(xiàn)這個(gè)接口是多余的)。 } 3. 說(shuō)明: ( 4點(diǎn)) ⑴ 上述程序定義了一個(gè)接口 InterfaceOne ,繼承自接口 InterfaceTwo, InterfaceThree… (父接口 ),現(xiàn)在接口 InterfaceOne擁有了父接口的所有屬性和方法。 接口的實(shí)現(xiàn) 接口的繼承 1. 規(guī)則: 在 Java語(yǔ)言中,接口也允許繼承, 而且允許一個(gè)接口繼承多個(gè)接口。 } public interface InterfaceTwo { String methodone( int x)。 int methodtwo(String x)。 } 說(shuō)明: 如果有一個(gè)類(lèi)要同時(shí)實(shí)現(xiàn)這兩個(gè)接口,只需提供一個(gè) methodone()方法的實(shí)現(xiàn),但需要提供兩個(gè)methodtwo()方法的實(shí)現(xiàn)(重載 methodtwo()方法)。 程序舉例: 【 例 1】【 例 2】 接口的實(shí)現(xiàn) 【 例 1】 如果有如下兩個(gè)接口 : public interface InterfaceOne { int methodone( int x)。 } } 接口的實(shí)現(xiàn) 3. 用法說(shuō)明: 一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口,當(dāng)這多個(gè)接口中定義了同名的成員方法時(shí),要按幾種不同的情況處理: A. 如果這些方法中有相同的形式參數(shù)和返回值,則被看作同一個(gè)方法,這個(gè)類(lèi)只要重定義一次就可以了。這種強(qiáng)制轉(zhuǎn)換是可行的, // 因?yàn)?ref 引用的對(duì)象實(shí)例本來(lái)就是類(lèi) Television的實(shí)例 if ( () ) ( ( (Television) ref ).getTradeMark() +牌電視的電源已經(jīng)開(kāi)啟! )。 // 聲明一個(gè)接口變量,可以指向?qū)崿F(xiàn)該接口的類(lèi)對(duì)象 //注意:不能用 new 操作符來(lái)聲明一個(gè)接口實(shí)例 ( ) 。 [ 例程 417] public class ControllableDemo { public static void main( String[ ] args ) { Television obj = new Television( 創(chuàng)維 ) 。 } } 接口的實(shí)現(xiàn) 【 例程 416】 說(shuō)明: 類(lèi) Television 給出了 Controllable 所定義的 setPower( ) 和 isPowerOn( ) 方法的實(shí)現(xiàn)體。 power = 。 power = 。 } //類(lèi) ColorTV自己定義的方法 public String getTradeMark( ) { return tradeMark。 //類(lèi) ColorTV自己聲明的屬性 private String tradeMark = ―‖。 3. 用法說(shuō)明: [例程 416】 //定義電視機(jī)類(lèi) public class Television implements Controllable { // OFF 是接口 Controllable 的公有靜態(tài)成員, // 因此可以通過(guò)接口名訪(fǎng)問(wèn)。 2. 程序舉例: (1)【 例程 416 】 定義電視機(jī)類(lèi),實(shí)現(xiàn)了遙控器接口。 } 接口的聲明 接口的實(shí)現(xiàn) 1. 實(shí)現(xiàn)方法 : 只有接口的 Java程序是不可運(yùn)行的,接口的意義在于它可以被類(lèi)實(shí)現(xiàn)。 void setPower(int onOrOff)。 [例程 415] public interface Controllable //定義遙控器接口 { int OFF = 0。 方法成員缺省認(rèn)為是公有抽象方法。 (2)接口的成員方法只能是公有的抽象方法,因此成員方法的聲明不能使用除 public、 abstract以外的修飾符。 } 2. 格式 說(shuō)明 : 3. 程序舉例: 【 例程 415】 定義遙控器接口 。 1. 接口的聲明語(yǔ)法格式: [ public ] interface 接口名 [ extends 父接口名1, 父接口名 2, … ] { [ public static final ] 類(lèi)型 變量名 = 值 。 總結(jié)說(shuō)明: 接口不同于類(lèi), Java語(yǔ)言的類(lèi)繼承是單根的,所有的類(lèi)都派生自 java . lang . Object 類(lèi),但接口允許多繼承,所以不存在一個(gè)接口是所有接口的祖先接口。比如:一個(gè)電視機(jī),可以是“可遙控的”、“可上網(wǎng)的”。 接口的作用 接口的作用 ? 4. Java語(yǔ)言不允許類(lèi)的多繼承,但允許一個(gè)類(lèi)實(shí)現(xiàn)多個(gè)接口 。只能定義公有的抽象方法,不能定義其他形式的方法成員。 ? 3. 接口相當(dāng)于純抽象類(lèi),即只有抽象方法的類(lèi)。 ⑴方法的接口: 是指方法的返回值類(lèi)型、方法名、參數(shù)類(lèi)型。 類(lèi)實(shí)現(xiàn)了某個(gè)接口,說(shuō)明該類(lèi)可以在某種角度被觀察。 用法程序示例: (課本 P87) 例 1: 例 2: , , 4. 多態(tài) 接口 接口的作用 接口的聲明 接口的實(shí)現(xiàn) 接口的繼承 問(wèn)題引入: 電視機(jī)和遙控器之間的關(guān)系? 答案: 類(lèi)和接口的關(guān)系。 解釋說(shuō)明: 運(yùn)行時(shí), JVM會(huì)檢查對(duì)象的動(dòng)態(tài)類(lèi)型,然后調(diào)用在編譯時(shí)確定的最精確的方法在動(dòng)態(tài)類(lèi)型對(duì)應(yīng)類(lèi)中的方法版本。 注意: Java中的任何數(shù)據(jù)類(lèi)型都在編譯時(shí)確定了其靜態(tài)類(lèi)型:基本數(shù)據(jù)類(lèi)型只有靜態(tài)類(lèi)型;而對(duì)象引用有靜態(tài)類(lèi)型和動(dòng)態(tài)類(lèi)型,動(dòng)態(tài)類(lèi)型在運(yùn)時(shí)確定而且肯定是靜態(tài)類(lèi)型的子類(lèi)型。 是要等程序運(yùn)行時(shí)才可以確定的多態(tài)性,主要通過(guò)繼承和動(dòng)態(tài)綁定來(lái)實(shí)現(xiàn)。 ② 對(duì)于任意的 i, ai和 bi的類(lèi)型相同或者 ai的數(shù)據(jù)都能隱式類(lèi)型轉(zhuǎn)換為 bi。 ⑴ 編譯時(shí)多態(tài): 問(wèn)題: 靜態(tài)編譯如何確定調(diào)用那個(gè)方法? 實(shí)現(xiàn)過(guò)程: 編譯器總是會(huì)去匹配最精確的方法。即程序員用相同的兩個(gè)名字或更多方法使語(yǔ)義非常相近的方法可以用同樣的標(biāo)識(shí)符來(lái)命名。而運(yùn)行時(shí)多態(tài)是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的一大特點(diǎn)。 Java語(yǔ)言中體現(xiàn):方法的重載和方法的重定義。 } } 方法重定義和方法重載的用法示例:課本 P84的例子 封裝、繼承與多態(tài) 4. 多態(tài) 多態(tài)的概念 : 就是程序中同一個(gè)符號(hào)在不同的情況下具有不同的意義。 } } public class SubClass1 extends SuperClass { public void method( int x, double y ) //方法重定義 { (SubClass1) 。 用法程序示例: 參見(jiàn)課本 P84的例子。 ⑵ 方法 重載: (是多態(tài)的一種)。重定義的方法應(yīng)該和父類(lèi)的方法有完全相同的接口,即有相同的返回類(lèi)型、方法名和參數(shù)列表。 封裝、繼承與多態(tài) : 在子類(lèi)需要有區(qū)別于父類(lèi)的特殊服務(wù)時(shí),就要使用方法的重定義和重載。 方法覆蓋(重定義): 是指子類(lèi)定義了一個(gè)和父類(lèi)同名且形參表相同的方法。 ③不能繼承父類(lèi)的構(gòu)造方法。 能夠繼承同一包中的默認(rèn)修飾符的方法成員。 : 繼承規(guī)則: 子類(lèi)不需要重新定義就擁有了父類(lèi)已有的非私有方法成員。 ①當(dāng)使用指向父類(lèi)的對(duì)象時(shí),調(diào)用的就是父類(lèi)的數(shù)據(jù)成員。 說(shuō)明: 這樣,子類(lèi)定義了一個(gè)與父類(lèi)同名的數(shù)據(jù)成員,而且子類(lèi)也繼承了父類(lèi)的該數(shù)據(jù)成員。即:子類(lèi)繼承了父類(lèi)的數(shù)據(jù)成員的類(lèi)型,而不是數(shù)據(jù)成員的值。 ① 子類(lèi)繼承了父類(lèi)的數(shù)據(jù)成員,表示子類(lèi)被創(chuàng)建時(shí)另外開(kāi)辟了新的存儲(chǔ)空間來(lái)存儲(chǔ)從父類(lèi)繼承而來(lái)的數(shù)據(jù)成員,其初值應(yīng)該是父類(lèi)中該數(shù)據(jù)成員的初值。 C. 類(lèi)的繼承規(guī)則程序舉例 : 例 1: 例 2: ( 3)類(lèi)的繼承規(guī)則: : 子類(lèi)不需要重新定義就擁有了父類(lèi)已有的非私有數(shù)據(jù)成員。 } } 封裝、繼承與多態(tài) 2. 繼承 ( 3)類(lèi)的繼承規(guī)則: A. 數(shù)據(jù)成員的繼承規(guī)則 。 ( 2, 75 ) 。 ( 0, 80 ) 。 //創(chuàng)建第 2個(gè)實(shí)例(本科生) Undergraduate student2 = new Und
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1