面向對象程序設計包繼承訪問權限_第1頁
面向對象程序設計包繼承訪問權限_第2頁
面向對象程序設計包繼承訪問權限_第3頁
面向對象程序設計包繼承訪問權限_第4頁
面向對象程序設計包繼承訪問權限_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章 面對對象程序設計:包、繼承、訪問權限包包是java語言有效管理類的方式,將同一個應用的類打入一個包中,把不相關或者是完成不同功能的類放入不同的包中,使得管理類變的更容易。關鍵字packagepackage語句作為Java源文件的第一條語句,指明該源文件定義的類所在的包。package語句的一般語法格式為:package ;package 包的命名規章:1.使用英文字母作為包的名稱。2.包名要求全部使用小寫字母表示(多個單詞也全部小寫)。3.如果包名包含多個層次,每個層次應該用“.”分割。例如:package helloworldpackage com.shxt.hello.world關

2、鍵字import使用import關鍵字可以將其他包中的類引入到當前類中以備使用。在編寫源文件時,除了自己編寫類外,我們常常需要使用Java供應的很多類,這些類可能在不同的包中。如果需要引入其他包中的類,可以使用如下語法格式:import .類名;import關鍵字1.如果要引入某個包中的全部類,可以使用如下語法格式:import .*;2.在學習Java語言時,使用已經存在的類,避開一切從頭做起,是學習面對對象編程的一個重要方面。示例:引包關鍵字extends(繼承)繼承是面對對象編程的三大特征之一。 繼承是一種基于已有的類創建新類的機制。利用繼承,我們可以先創建一個具有共有屬性的一般類,依據

3、該一般類再派生出具有特別屬性的新類,新類繼承一般類的狀態(成員變量)和行為(方法),并依據需要增加額外的狀態(成員變量)和行為(方法)。由繼承而得到的類稱為子類(或派生類),被繼承的類稱為父類(或超類)。Java中每個類只允許有一個父類。語法如下:class extends 訪問權限當使用某個類創建了相應的對象之后,可以使用.和.這樣的語法格式訪問變量和方法。但這種訪問是受權限限制的,使用private、protected和public設置相應的權限級別。在java中共有4種訪問級別,按訪問權限由高到低為:public(公有的)、protected(受保護的)、友好的(沒有任何訪問權限關鍵字修

4、飾)和private(私有的)。訪問級別規章表:訪問級別示例:訪問級別 示例:訪問級別子類訪問父類規章依據訪問級別規章表,可知:1.任何類都可以訪問其他類的public成員變量和方法;2.子類可以訪問父類的protected成員變量和方法;3.所以子類訪問父類成員變量和方法的關鍵在于父類和子類是否在同一個包中。簡略表現如下表:成員變量的隱藏和方法重寫當子類的成員變量和父類中的成員變量同名(數據類型可以不一樣)時,父類的成員變量不能被子類繼承(即被子類的成員變量掩蓋),此時稱子類的成員變量隱藏了父類的成員變量。 當子類方法的名字,返回類型,及參數個數和參數類型與父類的方法完全相同時,父類的同名方

5、法將被隱藏。而這種子類方法掩蓋父類方法的現象叫做重寫。 成員變量的隱藏和方法重寫可以使子類替換父類中并不適合子類的狀態(變量)和行為(方法),從而使繼承更加敏捷。示例:隱藏和重寫子類對象的調用規章對于子類實例化的一個對象,如果在子類中重寫了父類的方法,則運行時系統調用子類重寫的方法;如果子類繼承了父類的方法(未重寫),那么子類實例化的對象會調用繼承自父類的方法。重寫規章:1.子類掩蓋父類的同名方法叫做重寫,重寫必須滿足如下條件:(1)方法的返回值類型必須相同。(2)方法的參數個數必須相同。(3)方法的參數對應的數據類型必須相同。(4)子類方法不得降低父類同名方法的訪問級別。例如:父類的方法訪問

6、權限是protected,則子類重寫該方法時必須使用protected或者是public。(也就是說,子類重寫方法的訪問權限必須大于等于父類同名方法的訪問權限)。示例:重寫違規如上:子類Whale重寫了父類Mammal的run方法,但是將訪問權限從public降低到了protected,這是不允許的,違反了重寫規章關鍵字finalfinal關鍵字可以用來修飾類、方法和變量。1.final修飾的類不能被繼承。2.final修飾的方法不能被重寫。3.final修飾的變量是常量,不能修改其值。語法示例如下:關鍵字thisthis關鍵字表示當前類的內部實例對象,類似于外部實例,但是this可以訪問全部

7、級別的成員變量和方法。this使用原則:1.this是當前類的內部對象,所以和類的外部對象訪問類成員變量和方法的規章全都,語法:this.和this.2.this只能在當前類的內部使用,但是,不能在static修飾的方法(即類方法)中使用。3.this在實例方法中通常被省略,除非實例方法中包含與成員變量同名的局部變量時,訪問成員變量需要使用this。4.當一個類中包含多個構造方法的時,如果其中一個構造方法要調用另外的構造方法時,使用this關鍵字。示例:thisthis關鍵字調用同類其他構造方法。類This包含兩個構造方法,一個有參數,一個沒有參數。調用格式如下:關鍵字supersuper使用

8、原則:1.super可以訪問被子類重寫的父類同名方法和被子類隱藏的父類的成員變量。2.可以使用super關鍵字調用父類的構造方法。如果子類繼承父類時,消失了成員變量的隱藏和方法重寫,此時子類的對象對應的成員變量和方法都是在子類中重新定義的,如果需要在子類中調用父類被隱藏的成員變量或者被重寫的方法,可以使用super關鍵字。 示例:super被重寫 示例:super父類構造1.如果父類供應了構造方法,并且父類不擁有無參構造方法。則要求子類擁有相同結構的構造方法。即:子類構造方法的參數個數和類型必須和父類的構造方法全都。2.如果父類擁有默認的構造方法,子類又沒有明確指定調用父類的哪個構造方法,則子類的構造方法隱式的有super()操作; 對象上轉型父類聲明,子類實例化的對象稱為上轉型對象。上轉型對象特點:1.上轉對象不能操作子類新增的成員變量,失掉了這部分屬性,不能使用子類新增的方法,失掉了一些功能。2.上轉型對象可以操作子類繼承或重寫的成員變量,也可以使用子類繼承的或重寫的方法。當上轉型對象訪問一個被隱藏的成員變量時,訪問的是父類的成員變量;當上轉型對象訪問一個被重寫的方法時,訪問的是子類的方法;上轉型對象變量的原則追尋的是訪問權限的原則 而非集成的原則3.如果子類重寫了父類的某個方法后,當對象的上轉型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論