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

正文內(nèi)容

java語言程序設(shè)計(jì)基礎(chǔ)第2版java語言中的面向?qū)ο髉pt(編輯修改稿)

2025-02-02 05:31 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 構(gòu)造方法 ,Java語言自動(dòng)生成空的構(gòu)造方法 ,變量被賦于該方法類型的默認(rèn)值。 2021/11/10 74 類的構(gòu)造方法 ?如程序定義了一個(gè)或多個(gè)構(gòu)造方法,在創(chuàng)建對(duì)象時(shí),必須用已定義的構(gòu)造方法來初始化。如 java解釋器按參數(shù)沒有找到相應(yīng)構(gòu)造方法,只會(huì)報(bào)錯(cuò)而不會(huì)自動(dòng)生成空的構(gòu)造方法。即 Java語言只在程序沒有定義構(gòu)造方法時(shí)才能自動(dòng)生成默認(rèn)構(gòu)造方法 .默認(rèn)構(gòu)造方法是沒有參數(shù)的特殊構(gòu)造方法。 2021/11/10 75 類的構(gòu)造方法 ?構(gòu)造方法也有成員,訪問權(quán)限也有限制。當(dāng)參數(shù)名與類成員變量名相同時(shí),為區(qū)分它們,用 this表示引用當(dāng)前對(duì)象。通常,當(dāng)程序中可能有二義性對(duì)象時(shí),用 this指明當(dāng)前對(duì)象,使程序可讀性良好。 2021/11/10 76 ?構(gòu)造方法實(shí)例 : class Constructor{ private int x。 private double y。 //定義沒有參數(shù)的構(gòu)造方法 Constructor(){ x=0。 y=0。 } 2021/11/10 77 //定義有一個(gè)參數(shù)的構(gòu)造方法 Constructor(int x){ =x。 //區(qū)別變量與參數(shù)同名 } Constructor(double y){ =y。 } 2021/11/10 78 //定義兩個(gè)參數(shù)的構(gòu)造方法 Constructor(int x,double y){ =x。 =y。 } void show(){ (x=+x+ y=+y)。 } } 2021/11/10 79 public class ConstructorDemo{ public static void main(String atgs[]){ Constructor co1=new Constructor()。 Constructor co2=new Constructor(8)。 Constructor co3=new Constructor(1,6)。 ()。 ()。 ()。 } } 2021/11/10 80 程序 ConstructorDemo運(yùn)行結(jié)果 : X=0 y= X=8 y= X=1 y= 2021/11/10 81 類的繼承性 ?類的繼承允許一個(gè)類成為另一個(gè)類的子類 ,子類繼承父類的所有特性,并可以擴(kuò)充自己特征。類的繼承提供了類共性描述的簡(jiǎn)潔方法。避免了類共性的重復(fù)說明,提高了軟件的重用性、可用性和界面的一致性。 2021/11/10 82 類的繼承性 ?繼承是關(guān)于有層次關(guān)系類之間的概念 .繼承實(shí)現(xiàn)的代碼重用 ,使程序得到簡(jiǎn)化 .Java語言中,所有的類都是通過直接或間接地繼承 而得到。創(chuàng)建子類的語法格式 : 子類名 extends 父類名 2021/11/10 83 類的繼承性 ?子類創(chuàng)建實(shí)例 : class A{ private int a。 int i,j。 void setA(int a){ =a。 } 2021/11/10 84 int getA(){ return a。 } void setIJ(int i,int j){ =i。 =j。 } } 2021/11/10 85 class B extends A{ int k。 void setK(int k){ =k。 } int sum(){ return i+j+k。 } } 2021/11/10 86 public class ABDemo{ public static void main(String args[]){ A superO=new A()。 B subO=new B()。 //父類對(duì)象用自己的變量和方法 (5)。 (10,20)。 2021/11/10 87 ( = +())。 ( = +)。 ( = +)。 //子類對(duì)象可訪問父類的非私有成員 (6,9)。 (8)。 2021/11/10 88 ( = +)。 ( = +)。 ( = +)。 (+j+k = +())。 } } 2021/11/10 89 程序 ABDemo運(yùn)行結(jié)果 : = 5 =10 = 20 = 6 = 9 = 8 +j+k = 23 2021/11/10 90 類的多態(tài)性 ?多態(tài)是指把類中具有相似功能的不同方法用相同方法名來定義 ,從而可用相同的方式調(diào)用這些同名而功能不同的方法 . ?Java語言 實(shí)現(xiàn)多態(tài)性的機(jī)制有 : –子類對(duì)父類方法的覆蓋 (重寫 ) –多個(gè)含義的方法重載 2021/11/10 91 多態(tài)性 ?方法重寫是指方法的含義被重寫后替代。子類可以重新實(shí)現(xiàn)父類的某些方法,并具有自己的特征。重寫隱藏了父類的方法,使子類可具有自己實(shí)現(xiàn)的方法。 ?重寫方法必須遵循兩個(gè)原則: –子類方法的訪問權(quán)限比父類方法的訪問權(quán)限更高 。 –子類方法不能產(chǎn)生比父類方法更多的異常 2021/11/10 92 多態(tài)性 ?方法重載使一個(gè)類中可以有多個(gè)相同名字的方法,由方法參數(shù)不同來實(shí)現(xiàn)所使用的方法。如 Java語言中畫圖的類 ,有一個(gè) draw()方法 .用它可畫各種幾何圖形或輸出文字 ,字符串等 ,對(duì)于每種實(shí)現(xiàn) ,只需實(shí)現(xiàn)一種新的 draw()方法 ,名字不用改 .這可簡(jiǎn)化了方法的實(shí)現(xiàn)和調(diào)用 .編程者不用記憶許多方法名 . 2021/11/10 93 類的多態(tài)性 ?方法重寫實(shí)例 : import .*。 public class AutInheritance{ public static void main(String args[]){ subClass subW = new subClass()。 ()。 } } 2021/11/10 94 class superClass{ int x。 superClass(){ x=3。 (in superClass:x=+x)。 } void doPrint(){ (in ())。 } } 2021/11/10 95 class subClass extends superClass{ int x。 subClass(){ super()。 //調(diào)用 superClass的構(gòu)造方法 x=8。 (in subClass() :x=+x)。 } 2021/11/10 96 void doPrint(){ ()。 //調(diào)用 superClass方法 (in ())。 (=++ =+x)。 } } 2021/11/10 97 程序 AutInheritance運(yùn)行結(jié)果 : in superClass: x=3 in subClass() :x=8 in () in () =3 =8 2021/11/10 98 ?方法重載實(shí)例 : public class MethodOverload{ int cube(int i){ return i*i*i。 } long cube(long l){ 2021/11/10 99 return l*l*l。 } public static void main(String args[]){ MethodOverload obj = new MethodOverload()。 (“立方體的邊為 7時(shí),其體 積為: +(7))。 (“立方體的邊為 , 其體積為: +(15))。 } } 2021/11/10 100 程序 MethodOverload運(yùn)行結(jié)果 : 立方體的邊為 7時(shí),其體積為: 343 立方體的邊為 ,其體積為: 3375 2021/11/10 101 內(nèi)部類 * ?在一個(gè)類的內(nèi)部嵌套定義的類稱為內(nèi)部類 (Inner Class).它也具有成員變量和方法 .但它具有某些特點(diǎn) : –內(nèi)部類只能在定義它的類、程序段中、或在表達(dá)式內(nèi)部匿名使用 .外部使用它時(shí)必須給出類的全名。 –內(nèi)部類的類名不允許與包含它的類名相同。 2021/11/10 102 內(nèi)部類的特點(diǎn) : –內(nèi)部類可以使用它所在類的靜態(tài)成員變量、實(shí)例成員變量和方法中的局部變量。 –內(nèi)部類的修飾符有 abstract, private或protected。 –內(nèi)部類可作為其他類的成員。 2021/11/10 103 ?內(nèi)部類實(shí)例 1*: class D{ public abstract class AbstractInner{ //定義抽象內(nèi)部類 D int x1。 int x2。 abstract void innerMethod()。 } 2021/11/10 104 public class Inner extends AbstractInner{ //定義抽象內(nèi)部類的子類 void innerMethod(){ //實(shí)現(xiàn)抽象方法 x1++。 x2。 } } 2021/11/10 105 public Inner aMethod(){ //該方法返回一個(gè)內(nèi)部類對(duì)象 return new Inner()。 } } public class AbstractInnerClassTask{ public static void main(String[] args) { D a=new D()。 2021/11/10 106 k=()。 //用內(nèi)部類全名 ()。 (x1 = +)。 (x2 = +)。 } } 2021/11/10 107 程序 AbstractInnerClassTask運(yùn)行結(jié)果 : x1 = 1 x2 = 1 2021/11/10 108 ?內(nèi)部類實(shí)例 2*: public class InnerB{ public static void main(String[] args){ InnerB i = new InnerB()。 ()。 } 2021/11/10 109 public class Inner{ //聲明內(nèi)部類 private int size。 public void doSomething(int size){ size++。 //訪問局部變量 ++。 //訪問內(nèi)部類的成員變量 ++。 //訪問外部類的成員變量 2021/11/10 110 (size+ ++ +)。 } } public void taskInner(){ Inner k = new Inner()。 (8)。 } // 定義外部類局部變量 private static int size。 } 2021/11/10 111 程序 InnerB運(yùn)行結(jié)果 : 9 1 1
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1