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

正文內(nèi)容

解析java程序設(shè)計ppt(編輯修改稿)

2025-02-17 23:33 本頁面
 

【文章內(nèi)容簡介】 正存在,必須使用 new運算符,并且調(diào)用 MyClass類相應(yīng)的構(gòu)造方法。 有了實例變量的概念后,可以對地址條目類 Item中的成員變量進行初步定義。一個地址條目包含姓名( name)、住址( address)、電話( telephone),變量的類型為字符串。 public class Item{ private String name。 private String address。 private String telephone。 } 2.成員方法的定義 方法是類的動態(tài)屬性,對象的行為是由它的方法來實現(xiàn)的。一個對象可通過調(diào)用另一個對象的方法來訪問該對象。 方法聲明的格式為: 返回類型 方法名 (){ 方法體 } 一個類的方法與類的成員變量類似,有實例方法和類方法,方法聲明前有 static關(guān)鍵字即為類方法,否則為實例方法。實例方法可以對當(dāng)前對象的實例變量進行操作,而且可以訪問類變量。 例: 定義一個 AnIntegerNamedX類,類中有一個實例變量 x,然后使用不同的方式訪問該變量,觀察輸出結(jié)果。源代碼如下: class AnIntegerNamedX{ int x。 //沒有使用 static關(guān)鍵字,因此 x是實例變量 public int getX(){ return x。 } public void setX(int newX){ x = newX。 } } 下面編寫 Compare_test類對 AnIntegerNamedX類進行測試,它包含兩個 AnIntegerNamedX類型的對象,并且將 x設(shè)置為不同的值,然后顯示出來。源代碼如下: public class Compare_test{ public static void main(String args[]){ AnIntegerNamedX myX = new AnIntegerNamedX()。 AnIntegerNamedX anotherX = new AnIntegerNamedX()。 (1)。 = 2。 ( = + ())。 ( = + ())。 } } 運行結(jié)果如圖所示: 分析 AnIntegerNamedX類和 Compare_test類不難看出: 1) AnIntegerNamedX外部的對象如果想訪問 x,必須通過 AnIntegerNamedX的一個特定實例對象來實現(xiàn)。 2) getX()和 setX()方法操作的是兩個不同的 x的副本:一個是包含在 myX對象中,另外一個是包含在 anotherX對象中。這是因為每個對象都有它自己的實例變量 x,并且每個實例變量可以有不同的值。 下面進一步討論方法聲明的具體細節(jié)。 一個方法必須聲明其返回類型,如果無返回值,則必須聲明其返回類型為 void。方法可以返回簡單數(shù)據(jù)類型或任何引用類型的值。 一個方法通過 return語句返回并將返回值緊跟在return語句之后返回到調(diào)用的地方。 當(dāng) return語句帶有返回值時,它與方法定義的返回類型的關(guān)系必須符合如下幾種情況之一: 1)當(dāng)方法聲明的返回類型是基本數(shù)據(jù)類型時,返回值的數(shù)據(jù)類型必須與返回類型一致。 2)當(dāng)方法聲明的返回類型是一個類時,返回對象的數(shù)據(jù)類型必須是與方法聲明的返回類相同的類或其子類。 3)當(dāng)方法聲明的返回類型是一個接口類型時,返回的對象所屬的類必須實現(xiàn)這個接口,接口的概念下一章中將會介紹。 方法的參數(shù)。 當(dāng)編寫一個方法時,一般在方法名之后列出一個參數(shù)表來聲明該方法所需要的若干參數(shù)和這些參數(shù)的類型。參數(shù)表由各個參數(shù)的名字及類型組成,各參數(shù)之間用逗號分隔。在方法體中,可以直接用這些參數(shù)名來引用參數(shù)的值。 方法的參數(shù)傳遞。 在 C/C++語言中,函數(shù)參數(shù)的傳遞分為值傳遞和地址傳遞兩種,但是, Java的參數(shù)傳遞方式只能是傳遞值,也稱為 “ 值傳遞 ” 。不過對于這種值傳遞方式要區(qū)分如下兩種情況: 1)當(dāng)參數(shù)是一個簡單類型時,值傳遞意味著這個方法不能改變參數(shù)的值。 2)當(dāng)參數(shù)是一個引用類型時,值傳遞意味著這個方法不能改動這個對象的引用,但是方法可以調(diào)用該對象的方法來修改該對象中可訪問的成員變量。 例: 編寫一個方法 fun,試圖對傳進來的兩個整數(shù)按從小到大排列。源代碼如下: public class Test{ public static void fun(int a, int b){ //fun定義為類方法,這樣不需 //要實例化 Test就可以直接使用 fun int tmp。 if (a b) tmp = a。 a = b。 b = tmp。 } (a= + a + ,b= + b)。 } public static void main(String[] args){ int x = 5, y = 2。 (x= + x + ,y= + y)。 fun(x, y)。 (x= + x + ,y= + y)。 } } 程序的運行結(jié)果如圖 顯然,程序的運行結(jié)果不是我們所期待的, x和 y的值傳給 fun方法后,在方法 fun內(nèi)部 a、 b的值最后是按照從小到大排列,但是這種改變沒有影響 x、 y的值,因為這里參數(shù)傳遞的是簡單類型。為了在方法 fun中改變 x、y的值,我們改變參數(shù)的類型。程序修改如下: public class Test { public static void fun(int a[]){ int tmp。 if (a[0] a[1]){ tmp = a[0]。 a[0] = a[1]。 a[1] = tmp。 } (a[0]= + a[0] + ,a[1]= + a[1])。 } public static void main(String[] args){ int x[] = new int[2]。 x[0] = 5。 x[1] = 2。 (x[0]= + x[0] + ,x[1]= + x[1])。 fun(x)。 (x[0]= + x[0] + ,x[1]= + x[1])。 } } 方法的重載 Java支持方法名重載,即多個方法可以共享一個名字。重載的方法在具體調(diào)用時系統(tǒng)會根據(jù)方法的參數(shù)個數(shù)和參數(shù)類型自動選擇相應(yīng)的方法。 例 :假設(shè)有一個類需要用若干方法將多種輸入的數(shù)據(jù) “ 加倍 ” 后顯示出來,如果不使用重載,這些方法可按如下方法實現(xiàn): public void doubleInt(int data){ (2 * data)。 } public void doubleString(String data){ (data + data)。 } 使用重載,則以上兩個方法都可以使用同一個方法名 doubleIt,表示“ 加倍 ” 的概念,但對不同的輸入數(shù)據(jù),可以使用不同的參數(shù)。源代碼如下: public void doubleIt(int data){ (2 * data)。 } public void doubleIt(String data){ (data + data)。 } 在采用重載的方法后,如果在另一個方法中調(diào)用 doubleIt(66),則會選擇 doubleIt方法的第一個定義,顯示 “ 132”;如果調(diào)用doubleIt(hello),則會選擇 doubleIt方法的第二個定義,顯示“ hellohello”。 從這個例子可以看出,重載雖然表面上沒有減少編寫程序的工作量,但實際上重載使得程序的實現(xiàn)方式變得很簡單。只需要記住一個方法名,它就可以根據(jù)不同類型的輸入選擇該方法不同的版本。 重載方法的區(qū)分只以參數(shù)的不同作為區(qū)分依據(jù),方法的返回值類型不作為區(qū)分重載方法的依據(jù)。這里所謂的參數(shù)的不同包括以下幾種情況: (1)參數(shù)的類型不同。例如,上述的 doubleIt方法的兩個版本的參數(shù)類型不一樣。 (2)參數(shù)的順序不同。這里是指一個方法有多個不同類型參數(shù)的情況,改變參數(shù)的順序也算是一種區(qū)分方法。 (3)參數(shù)的個數(shù)不同。 類的訪問控制 封裝是面向?qū)ο蠓椒ǖ囊粋€重要原則。它有兩個基本含義:一是指對象的全部屬性數(shù)據(jù)和對數(shù)據(jù)的全部操作結(jié)合在一起,形成一個統(tǒng)一體,也就是對象;另一個是指盡可能的隱藏對象的內(nèi)部細節(jié),只保留有限的對外接口,對數(shù)據(jù)的操作都通過這些接口實現(xiàn)。 訪問控制符是一組限定類、成員變量和成員方法是否可以被程序內(nèi)和程序之外的部分訪問和調(diào)用的修飾符,也是實現(xiàn)封裝性的重要手段。具體的說,類及其屬性和方法的訪問控制符規(guī)定了程序內(nèi)的其它部分和程序之外其它部分是否有權(quán)訪問和調(diào)用他們。其中程序內(nèi)的其它部分是指程序中該類之外的其它類或方法。 類的訪問控制符只有一個 public。成員變量和方法的訪問控制符有 public、 private、 protected。另外還有一種沒有定義任何訪問控制符的情況,即默認情況。 Java中類的訪問控制符 public聲明一個公共類。公共類可以被所有的其它類訪問和引用,即這個類作為一個整體是可見和可以被使用的。程序的其它部分可以創(chuàng)建這個類的對象、訪問這個類的可用的(非私有的)成員變量和方法。 若一個類沒有訪問控制符,說明它具有默認的訪問控制特性,即規(guī)定這個類只能被同一個包中的類訪問和引用,而不能被其它包中的類使用,這種訪問特性又稱為包訪問性。 成員的訪問控制 Java語言支持對成員變量和方法的四個訪問等級: private、 protected、 public以及默認修飾符(即不指定訪問等級)。 訪問修飾符 同一個類 同 包 不同包 不同包,非子類 private √ protected √ √ √ public √ √ √ √ 默認 √ √ 最簡單的訪問修飾符是 public(公共的)。如果一個公共類的成員變量和方法被聲明為 public,那么在程序中的任何類中、任何包中都可以訪問它們。一般情況下,一個成員只有在外部對象使用后不會產(chǎn)生不良后果時,才聲明為公共的。類中被設(shè)定為 public的方法是這個類對外的接口部分,程序其它部分通過調(diào)用它們達到與當(dāng)前父類交換信息、傳遞消息甚至影響當(dāng)前類的作用,從而避免了程序的其它部分直接去操作當(dāng)前這個類的內(nèi)部數(shù)據(jù)。 protected允許類本身、子類(可以在相同包中或不同包中)以及相同包中的其它類訪問這個成員。因此,在允許類的子類和相同包中的類訪問,而杜絕其它不相關(guān)的類的訪問的時候,可以使用 protected訪問等級。protected修飾符將子類和相同包中的類看成是一個 “ 家族 ” , protected修飾的成員只讓家族成員相互了解和訪問,而不準這個 “ 家族 ” 之外的類和對象涉足。 限制性最強的訪問等級是 private。 private成員只能被它所定義的類所訪問。如果在類的外部訪問 private成員變量和方法將導(dǎo)致錯誤。 為了聲明一個 private成員,只需在聲明的時候加入 private關(guān)鍵字即可。例如: Alpha類包含了一個 private成員變量和一個 private方法: class Alpha{ private int privateVar。 private void privateMethod(){ (privateVariable and privateMethod)。 } } 在 Alpha類中,其對象或方法可以訪問或者修改 privateVar變量,也可以調(diào)用 privateMethod()方法,但在 Alpha類外的任何地方都不能訪問。例如,以下的 Beta類中就不能通過 Alpha對象訪問它的私有成員變量和方法。 class Beta{ void accessMethod(){ Alpha a = new Alpha()。 = 74。 //調(diào)用非法 ()。 //調(diào)用非法 } } 這個類試圖訪問一個沒有權(quán)限訪問的成員變量和方法,編譯器就會給出錯誤信息并拒絕繼續(xù)對源程序進行編譯。 不允許外部代碼隨意訪問類中的成員變量好像是不可思議的事情,其實這在很多情況下是很有好處的。因為數(shù)據(jù)的各個項不可隨意訪問,所以讀寫它們的唯一途徑就是使用方法。如果程序要求類成員保持一致性,就可以通過方法來管理。 例: 定義一個 Student類,假設(shè)只包含姓名( name),成績( score)兩個成員變量,如果把這兩個成員變量定義為 public,即: public class Student{ public String name。 public int score。 } 在任何地方都可以直接訪問和修改 name和 score兩個公有成員變量。例如: Student stu。 =張三 。=500。 從程序的語法角度看,上面的賦值沒有問題,但是,從語義的角度看=500不符合一
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1