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

正文內(nèi)容

面向?qū)ο蟪绦蛟O(shè)計(jì)(高級(jí)篇)-在線(xiàn)瀏覽

2025-03-07 20:39本頁(yè)面
  

【正文】 name =n。 } public void showInfo(){ ( 尊敬的 + name + ,您的年齡為 :+age)。 private int engScore。 public void setScores(String s,int e,int j){ school=s。 javaScore =j。 (王爍 ,22)。 //來(lái)自父類(lèi)繼承的方法 (情話(huà)大學(xué) ,79,92)。 protected訪(fǎng)問(wèn)時(shí),子類(lèi)和同一包內(nèi)的方法都能訪(fǎng)問(wèn)父類(lèi)的 protected成員方法,但其他方法不能訪(fǎng)問(wèn)。 【 例 42】 自定義父類(lèi) Person,創(chuàng)建其子類(lèi) SubStudent。 如 java系統(tǒng)提供的輸出命令的同名方法的使用如下: (); //輸出一個(gè)空行 ( double salary); // 輸出一個(gè)雙精度類(lèi)型的變量后換行 ( String name); //輸出一個(gè)字符串對(duì)象的值后換行 由于重載發(fā)生在同一個(gè)類(lèi)里,不能再用類(lèi)名來(lái)區(qū)分不同的方法了,所以一般采用不同的形式參數(shù)列表,包括形式參數(shù)的個(gè)數(shù)、類(lèi)型、順序的不同,來(lái)區(qū)分重載的方法。 方法重載有不同的表現(xiàn)形式,如基于不同類(lèi)型參數(shù)的重載: class Add{ public String Sum(String para1, String para2) {…} public int Sum(int para1, int para2){…} } 如相同類(lèi)型不同參數(shù)個(gè)數(shù)的重載: class Add{ public int Sum(int para1, int para2) {…} public int Sum(int para1, int para2,int para3) {…} } 【 例 43】 自定義父類(lèi) Area,創(chuàng)建其攜帶不同參數(shù)及返回類(lèi)型的同名方法。如 Employee類(lèi)中構(gòu)造方法的重載。 } Employee(String name){ //有一個(gè)參數(shù)的構(gòu)造方法,僅僅初始化員工的編號(hào)和姓名 employeeNo = employeeNextNo++。 } Employee(String name , double initSalary){ //有兩個(gè)參數(shù)的構(gòu)造方法,僅僅初始化員工的編號(hào)、姓名和工資 employeeNo = employeeNextNo++。 employeeSalary = initSalary。 子類(lèi)在創(chuàng)建新對(duì)象時(shí),依次向上尋找其基類(lèi),直到找到最初的基類(lèi),然后開(kāi)始執(zhí)行最初的基類(lèi)的構(gòu)造方法,再依次向下執(zhí)行派生類(lèi)的構(gòu)造方法,直至執(zhí)行完最終的擴(kuò)充類(lèi)的構(gòu)造方法為止。如果是帶參數(shù)的構(gòu)造方法,還需要做相應(yīng)的處理。 使用關(guān)鍵字 super調(diào)用基類(lèi)構(gòu)造方法的語(yǔ)句,必須是子類(lèi)構(gòu)造方法的第一個(gè)可執(zhí)行語(yǔ)句。 【 例 44】 子類(lèi)中使用構(gòu)造方法的實(shí)例。 */ 文件名: 多態(tài)性的體現(xiàn) 在 java語(yǔ)言中,多態(tài)性體現(xiàn)在兩個(gè)方面:由方法重載實(shí)現(xiàn)的靜態(tài)多態(tài)性(編譯時(shí)多態(tài))和方法覆蓋實(shí)現(xiàn)的動(dòng)態(tài)多態(tài)性(運(yùn)行時(shí)多態(tài))。這種確定操作具體對(duì)象的過(guò)程就是聯(lián)編(binding),也稱(chēng)為動(dòng)態(tài)綁定。下面的代碼體現(xiàn)了編譯時(shí)的多態(tài)性。 private int age。 age =a。 } public void showInfo() { ( “尊敬的” +name+”,您的年齡為 :”+age)。在編譯、連接過(guò)程中無(wú)法解決的聯(lián)編問(wèn)題,要等到程序開(kāi)始運(yùn)行之后再來(lái)確定。 下面動(dòng)態(tài)方法調(diào)用的簡(jiǎn)單例子。 } } class Child extends Parent{ public void function(){ (I am in Child!)。 Parent p2=new Child( )。 ( )。 this表示的是當(dāng)前對(duì)象本身 , 更準(zhǔn)確地說(shuō) , this代表了當(dāng)前對(duì)象的一個(gè)引用 。 super表示的是當(dāng)前對(duì)象的直接父類(lèi)對(duì)象 , 是當(dāng)前對(duì)象的直接父類(lèi)對(duì)象的引用 。 ① 通過(guò) super關(guān)鍵字訪(fǎng)問(wèn)父類(lèi)中被隱藏的成員變量 class Father{ int x=0。 public Child(){ ()。 //=0 } } ② 子類(lèi)的構(gòu)造方法中 , 通過(guò) super關(guān)鍵字調(diào)用父類(lèi)的構(gòu)造方法 public class Student extends Person { public Student(String myName, int myAge) { super(myName, myAge)。 (, 你 的 英 語(yǔ) 成 績(jī) 是 : +engScore+, JAVA 成績(jī)是:+javaScore)。 B b=new B()。 稱(chēng)這個(gè) A類(lèi)對(duì)象: a是子類(lèi)對(duì)象 b的上轉(zhuǎn)型對(duì)象 . 子類(lèi)對(duì)象可以賦給父類(lèi)對(duì)象 , 但指向子類(lèi)的父類(lèi)對(duì)象 不能操作子類(lèi)新增的成員變量 , 不能使用子類(lèi)新增的方法 。 可以將對(duì)象的上轉(zhuǎn)型對(duì)象再?gòu)?qiáng)制轉(zhuǎn)換到一個(gè)子類(lèi)對(duì)象 , 該子類(lèi)對(duì)象又具備了子類(lèi)所有屬性和功能 。 對(duì)子類(lèi)的一個(gè)實(shí)例 , 如果子類(lèi)重寫(xiě)了父類(lèi)的方法 , 則運(yùn)行時(shí)系統(tǒng)調(diào)用子類(lèi)的方法;如果子類(lèi)繼承了父類(lèi)的方法 ( 未重寫(xiě) ) , 則運(yùn)行時(shí)系統(tǒng)調(diào)用父類(lèi)的方法 。 ② 父類(lèi)對(duì)象不能被當(dāng)作是其某一個(gè)子類(lèi)的對(duì)象。 Java語(yǔ)言中,用 abstract關(guān)鍵字來(lái)修飾一個(gè)類(lèi)時(shí),這個(gè)類(lèi)叫做抽象類(lèi)。一個(gè)抽象類(lèi)中可以有一個(gè)或多個(gè)抽象方法。下面的語(yǔ)句會(huì)產(chǎn)生編譯錯(cuò)誤: ClassOne a = new ClassOne(); 抽象方法的一般格式: abstract 返回值類(lèi)型 抽象方法 ( 參數(shù)列表 )。 抽象方法的一個(gè)主要目的就是為所有子類(lèi)定義一個(gè)統(tǒng)一的接口,抽象方法必須被重寫(xiě)。抽象方法只需聲明,無(wú)需實(shí)現(xiàn);抽象類(lèi)不能被實(shí)例化,抽象類(lèi)不一定要包含抽象方法。 抽象類(lèi)有以下的定義規(guī)則: 抽象類(lèi)必須用 abstract關(guān)鍵字來(lái)修飾;抽象方法也必須用 abstract來(lái)修飾。 抽象方法只需聲明,而不需實(shí)現(xiàn)。 具體實(shí)現(xiàn)可參考下面兩段的代碼。 // 成員變量 public abstract void M1()。 // 成員變量 public void M1(){ //子類(lèi)必須重寫(xiě)父類(lèi)的抽象成員函數(shù) M1 // 實(shí)際實(shí)現(xiàn)的語(yǔ)句體 } …….. } ( 2)繼承于抽象類(lèi)的類(lèi)一般應(yīng)該實(shí)現(xiàn)抽象類(lèi)中的所有抽象方法(重寫(xiě))。 abstract class A{ public abstract void MethodA()。 抽象類(lèi)的使用 下面給出一個(gè)抽象類(lèi)的使用,體會(huì)一下抽象類(lèi)和抽象方法的定義,以及子類(lèi)怎樣實(shí)現(xiàn)對(duì)父類(lèi)抽象方法的重寫(xiě)。 /*程序功能介紹: Shape類(lèi)是對(duì)現(xiàn)實(shí)世界形狀的抽象,子類(lèi) Rectangle和子類(lèi)Circle是 Shape類(lèi)的兩個(gè)子類(lèi),分別代表現(xiàn)實(shí)中兩種具體的形狀。 */ 文件名: test_shape .java 接下來(lái),再給一個(gè)較為復(fù)雜的實(shí)例,它體現(xiàn)了 java中多態(tài)性的特點(diǎn),大家可細(xì)細(xì)體會(huì)。 /*程序功能介紹:多態(tài)性實(shí)現(xiàn)的工資系統(tǒng)中的一部分程序。子類(lèi) Boss和 CommissionWorker聲明位 final,表明它們不再派生新的子類(lèi)。使用包的目的就是使類(lèi)容易查找使用 , 防止命名沖突 , 以及控制訪(fǎng)問(wèn)。標(biāo)準(zhǔn) Java包是分層次的。所有 Java包都在 Java和 Javax包層次內(nèi)。 說(shuō)明: package 說(shuō)明包的關(guān)鍵字 pkg 包名 定義包的語(yǔ)句必須放在所有程序的最前面。 package名字一般用小寫(xiě)。 package employee .mission 。上面的第二個(gè)創(chuàng)建包的語(yǔ)句中的符號(hào)“ .” 代表了目錄分隔符,即這個(gè)語(yǔ)句創(chuàng)建了兩個(gè)文件夾。 2.向包添加類(lèi) 要把類(lèi)放入一個(gè)包中,必須把此包的名字放在源文件頭部,并且放在對(duì)包中的類(lèi)進(jìn)行定義的代碼之前。 public class Employee{ ?? } 則創(chuàng)建的 Employee類(lèi)編譯后生成的 myPackage下。如果需要使用其他包中的 public類(lèi),則可以使用如下的幾種方法。對(duì)于同一包中的其他類(lèi),只需在要使用的屬性或方法名前加上類(lèi)名作為前綴即可;對(duì)于其他包中的類(lèi),則需要在類(lèi)名前綴的前面再加上包名前綴。 // employee為包名 ( 2)加載包中單個(gè)的類(lèi)。 Employee ref = new Employee(); //創(chuàng)建對(duì)象 ( 3)加載包中多個(gè)類(lèi)。加載整個(gè)包的 import語(yǔ)句可以寫(xiě)為: import employee . *。 2. 編譯 編譯的過(guò)程和運(yùn)行的過(guò)程大同小異 , 只是一個(gè)是找出來(lái)編譯 , 另一個(gè)是找出來(lái)裝載。 JDK中有一個(gè)實(shí)用工具 。通過(guò)編輯一個(gè) 現(xiàn)的。另外,冒號(hào)后面必須空一格。使用工具 JAR文件 。 Jarfilename名字可以自己取。 6. JDK中的常用包 1. Java語(yǔ)言的核心類(lèi),如 String 、 Math、 Integer、 System和 Thread,提供常用功能。 3. applet運(yùn)行所需的一些類(lèi)。 5. /輸出功能的類(lèi)。 java中的接口 由于 Java只支持單一繼承,接口是 Java實(shí)現(xiàn)多重繼承功能的一種手段,一種結(jié)構(gòu)。換句話(huà)說(shuō),通過(guò)在接口中定義一些方法(抽象方法),可以用接口大致規(guī)劃出類(lèi)的共同行為,而把具體的實(shí)現(xiàn)留給具體的類(lèi)。接口是抽象方法和常量值的定義的集合,從本質(zhì)上講,接口是一種特殊的抽象類(lèi),這種抽象類(lèi)中只包含常量和方法的定義,而沒(méi)有變量和方法的實(shí)現(xiàn)。 接口中只能進(jìn)行方法的聲明,不提供方法的實(shí)現(xiàn),在接口中聲明的方法具有 public和abstract屬性。 public void start()。 } 。所謂實(shí)現(xiàn)接口,就是實(shí)現(xiàn)接口中聲明的方法。 如果某個(gè)接口方法沒(méi)有被實(shí)現(xiàn),實(shí)現(xiàn)類(lèi)中必須將它聲明為抽象的,該類(lèi)當(dāng)然也必須聲明為抽象的。 } public abstract class MyClass implements IMsg{ public abstract void Message()。 文件名: 【 例 48】 接口實(shí)現(xiàn)的實(shí)例。定義計(jì)算機(jī)主板的PCI類(lèi),模擬主板的 pci通用插槽,有兩個(gè)方法 start(啟用)和 stop(停用)。 */ 文件名: J ava支持在一個(gè)類(lèi)中定義另一個(gè)類(lèi)中,稱(chēng)為嵌套類(lèi)。這樣的類(lèi)稱(chēng)作內(nèi)部類(lèi),而包含內(nèi)部類(lèi)的類(lèi)成為內(nèi)部類(lèi)的外嵌類(lèi)。外嵌類(lèi)的類(lèi)體中可以用內(nèi)部類(lèi)聲明對(duì)象,作為外嵌類(lèi)的成員。通過(guò)建立內(nèi)部類(lèi)的對(duì)象,可以存取其成員變量和調(diào)用其成員方法。 Java將內(nèi)部類(lèi)作為外部類(lèi)的一個(gè)成員,就如同成員變量和成員方法一樣。 【 例 49】 內(nèi)部類(lèi)和外部類(lèi)之間的訪(fǎng)問(wèn) /*本例的類(lèi) GroupTwo中聲明了內(nèi)部類(lèi) Student,在內(nèi)部類(lèi) Student中構(gòu)造方法存取了外部類(lèi) GroupTwo的成員變量 count。必須在創(chuàng)建時(shí),作為new語(yǔ)句的一部分來(lái)聲明它們。它還創(chuàng)建那個(gè)類(lèi)的一個(gè)新實(shí)例,并把它作為語(yǔ)句的結(jié)果而返回。下面給一個(gè)匿名類(lèi)的使用。} class TestCry { public void testCry(Animal animal){// 通過(guò) Animal對(duì)象的傳遞模擬不同動(dòng)物叫聲 ()。 (new Animal (){// 構(gòu)建匿名類(lèi),模擬貓叫 public void cry() { (Cat is crying!)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1