亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

第5章 類之間的關系

2019-11-14 11:53:00
字體:
來源:轉載
供稿:網友

5.1繼承與多態

1.繼承的實現本質.1.  什么是繼承?繼承的語法?如何繼承?

繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。

類的繼承格式

java 中通過 extends 關鍵字可以申明一個類是從另外一個類繼承而來的,一般形式如下:

類的繼承格式

class 父類 {

}

class 子類 extends 父類 {

}

2.   繼承的好處?繼承后,子類可訪問父類的哪些屬性和方法?

繼承后,就具有父類當中的屬性和方法,子類就不會存在重復的代碼,維護性也提高,代碼也更加簡潔,提高代碼的復用性(復用性主要是可以多次使用,不用再多次寫同樣的代碼)

繼承的特性

子類擁有父類非PRivate的屬性,方法。

子類可以擁有自己的屬性和方法,即子類可以對父類進行擴展。

子類可以用自己的方式實現父類的方法。

Java的繼承是單繼承,但是可以多重繼承,單繼承就是一個子類只能繼承一個父類,多重繼承就是,例如A類繼承B類,B類繼承C類,所以按照關系就是C類是B類的父類,B類是A類的父類,這是java繼承區別于C++繼承的一個特性。

提高了類之間的耦合性(繼承的缺點,耦合度高就會造成代碼之間的聯系)。

 

1.   什么是多態?多態的好處什么?哪些情況體現了多態?

多態是同一個行為具有多個不同表現形式或形態的能力。

多態性是對象多種表現形式的體現。

 

多態的優點

1. 消除類型之間的耦合關系

2. 可替換性

3. 可擴充性

4. 接口性

5. 靈活性

6. 簡化性

 

多態存在的三個必要條件

繼承

重寫

父類引用指向子類對象

 

多態的實現方式

方式一:重寫: (Overload)。

方式二:接口

1. 生活中的接口最具代表性的就是插座,例如一個三接頭的插頭都能接在三孔插座中,因為這個是每個國家都有各自規定的接口規則,有可能到國外就不行,那是因為國外自己定義的接口類型。

2. java中的接口類似于生活中的接口,就是一些方法特征的集合,但沒有方法的實現。具體可以看 java接口 這一章節的內容。

方式三:抽象類和抽象方法

2.   繼承和多態的關系?

 

重載,繼承,重寫和多態的區別:繼承是子類獲得父類的成員,重寫是繼承后重新實現父類的方法。重載是在一個類里一系列參數不同名字相同的方法。多態則是為了避免在父類里大量重載引起代碼臃腫且難于維護。

網上看到一個有趣的說法是:繼承是子類使用父類的方法,而多態則是父類使用子類的方法。下面的例子包含了這四種實現:

class Triangle extends Shape {public int getSides() { //重寫return 3;}}class Rectangle extends Shape {public int getSides(int i) { //重載return i;}}public class Shape {public boolean isSharp(){return true;}public int getSides(){return 0 ;}public int getSides(Triangle tri){return 3 ;}public int getSides(Rectangle rec){return 4 ;}public static void main(String[] args) {Triangle tri = new Triangle(); //繼承System.out.println("Triangle is a type of sharp? " + tri.isSharp());Shape shape = new Triangle(); //多態System.out.println("My shape has " + shape.getSides() + " sides.");}}

注意Triangle類的方法是重寫,而Rectangle類的方法是重載。比較就可以發現多態對重載的優點:如果用重載,則在父類里要對應每一個子類都重載一個取得邊數的方法;如果用多態,則父類只提供取得邊數的接口,至于取得哪個形狀的邊數,怎樣取得,在子類里各自實現(重寫)。

1.   super的含義?2.  super與this的區別?二者的使用場景及如何使用?

super關鍵字:

我們可以通過super關鍵字來實現對父類成員的訪問,用來引用當前對象的父類。

this關鍵字:

指向自己的引用

super和this的異同:

 

1)super(參數):調用基類中的某一個構造函數(應該為構造函數中的第一條語句)

2)this(參數):調用本類中另一種形成的構造函數(應該為構造函數中的第一條語句)

3)super: 它引用當前對象的直接父類中的成員(用來訪問直接父類中被隱藏的父類中成員數據或函數,基類與派生類中有相同成員定義時如:super.變量名   super.成員函數據名(實參)

4)this:它代表當前對象名(在程序中易產生二義性之處,應使用this來指明當前對象;如果函數的形參與類中的成員數據同名,這時需用this來指明成員變量名)

5)調用super()必須寫在子類構造方法的第一行,否則編譯不通過。每個子類構造方法的第一條語句,都是隱含地調用super(),如果父類沒有這種形式的構造函數,那么在編譯的時候就會報錯。

6)super()和this()類似,區別是,super()從子類中調用父類的構造方法,this()在同一類內調用其它方法。

7)super()和this()均需放在構造方法內第一行。

8)盡管可以用this調用一個構造器,但卻不能調用兩個。

9)this和super不能同時出現在一個構造函數里面,因為this必然會調用其它的構造函數,其它的構造函數必然也會有super語句的存在,所以在同一個構造函數里面有相同的語句,就失去了語句的意義,編譯器也不會通過。

10)this()和super()都指的是對象,所以,均不可以在static環境中使用。包括:static變量,static方法,static語句塊。

11)從本質上講,this是一個指向本對象的指針, 然而super是一個Java關鍵字。

5.2 接口

1.如何定義和實現一個接口?

接口的聲明

接口的聲明語法格式如下:

[可見度] interface 接口名稱 [extends 其他的類名] {

       // 聲明變量

       // 抽象方法

}

Interface關鍵字用來聲明一個接口。下面是接口聲明的一個簡單例子。

NameOfInterface.java 文件代碼:

/* 文件名 :NameOfInterface.java */import java.lang.*;//引入包 public interface NameOfInterface{   //任何類型 final, static 字段   //抽象方法}

接口有以下特性:

接口是隱式抽象的,當聲明一個接口的時候,不必使用abstract關鍵字。

接口中每一個方法也是隱式抽象的,聲明時同樣不需要abstract關鍵子。

接口中的方法都是公有的。

實例

Animal.java 文件代碼:

/* 文件名 :Animal.java */interface Animal {  public void eat();  public void travel();}

接口的實現

當類實現接口的時候,類要實現接口中所有的方法。否則,類必須聲明為抽象的類。

類使用implements關鍵字實現接口。在類聲明中,Implements關鍵字放在class聲明后面。

實現一個接口的語法,可以使用這個公式:

Animal.java 文件代碼:

...implements 接口名稱[,其他接口, 其他接口..., ...] ...

3.   接口和類的默認訪問符分別是?

接口特性

接口中每一個方法也是隱式抽象的,接口中的方法會被隱式的指定為 public abstract(只能是 public abstract,其他修飾符都會報錯)。

接口中可以含有變量,但是接口中的變量會被隱式的指定為 public staticfinal 變量(并且只能是 public,用 private修飾會報編譯錯誤。

接口中的方法是不能在接口中實現的,只能由實現接口的類來實現接口中的方法。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人精品免高潮在线观看| xxx一区二区| 久久精品国产精品亚洲| 精品日本美女福利在线观看| 国产一区二区三区三区在线观看| 久久成人人人人精品欧| 国产精品精品视频一区二区三区| 亚洲free性xxxx护士hd| 亚洲成人av片| 4388成人网| 亚洲国产日韩欧美在线99| 69久久夜色精品国产69| 亚洲欧美日韩视频一区| 久久久噜噜噜久久中文字免| 久久久精品视频在线观看| 一区三区二区视频| 精品视频—区二区三区免费| 精品国产自在精品国产浪潮| 久久视频免费观看| 久久久亚洲国产天美传媒修理工| 亚洲精品视频播放| 亚洲精品一区中文字幕乱码| 欧美wwwxxxx| 日韩中文字幕国产| 午夜精品99久久免费| 一个人看的www久久| 91精品国产综合久久香蕉最新版| 亚洲午夜性刺激影院| 97久久精品人搡人人玩| 成人精品一区二区三区| 国产精品成人av在线| 亚洲最大中文字幕| 日韩在线中文字| 久久久电影免费观看完整版| 欧美电影免费观看大全| 国产丝袜一区视频在线观看| 欧美日韩亚洲视频一区| 欧美日韩国产精品一区二区不卡中文| 欧美国产激情18| 成人免费大片黄在线播放| 国产日韩换脸av一区在线观看| 亚洲国产欧美在线成人app| 亚洲综合在线播放| 中文字幕成人在线| 亚洲奶大毛多的老太婆| 久久精品国产欧美激情| 国产精品美女久久久久久免费| 亚洲欧美日韩另类| 亚洲女人被黑人巨大进入al| 欧美在线一级va免费观看| 日本亚洲欧美成人| 久久久精品免费视频| 成人有码在线视频| 日韩国产中文字幕| 国产精品扒开腿爽爽爽视频| 中文日韩在线观看| 亚洲系列中文字幕| 国产精品入口免费视频一| 精品无人区太爽高潮在线播放| 国产精品免费网站| 欧美黄色片视频| 欧美高清视频免费观看| 91精品国产综合久久男男| 久精品免费视频| 亚洲天天在线日亚洲洲精| 视频一区视频二区国产精品| 欧美丰满片xxx777| 日韩电影中文字幕| 久久99久国产精品黄毛片入口| 欧美激情中文字幕乱码免费| 97精品一区二区视频在线观看| 欧美色视频日本高清在线观看| 日韩精品中文字幕在线观看| 性色av香蕉一区二区| 欧美色视频日本高清在线观看| 一区二区三区天堂av| 精品调教chinesegay| 精品无码久久久久久国产| 一道本无吗dⅴd在线播放一区| 亚洲精品在线不卡| 精品视频偷偷看在线观看| 亚洲国产成人久久综合| 欧美日韩成人黄色| 91精品国产乱码久久久久久久久| 欧美视频在线免费看| 成人在线视频福利| 91精品国产777在线观看| 日韩精品免费在线播放| 欧美日韩午夜视频在线观看| 久久偷看各类女兵18女厕嘘嘘| 亚洲美女又黄又爽在线观看| 成人黄色免费网站在线观看| 欧洲亚洲妇女av| 最近的2019中文字幕免费一页| 亚洲精品免费在线视频| 日韩av快播网址| 久久天堂av综合合色| 亚洲欧洲偷拍精品| 亚洲已满18点击进入在线看片| 午夜精品www| 另类色图亚洲色图| 欧美第一黄色网| 96sao精品视频在线观看| 亚洲国内高清视频| 欧美性猛交xxxx偷拍洗澡| 国产成人亚洲综合91| 乱亲女秽乱长久久久| 国产91色在线|| 国产精品第2页| 日韩欧美在线网址| 欧美激情精品久久久久| 欧美成人国产va精品日本一级| 91性高湖久久久久久久久_久久99| 久久久久久久久久久91| 亚洲一区二区三区乱码aⅴ| 亚洲第一av网| 亚洲人成在线免费观看| 日本在线精品视频| 国产精品流白浆视频| yellow中文字幕久久| 琪琪亚洲精品午夜在线| 欧美在线一区二区三区四| 国产精品美女免费| 日韩电视剧免费观看网站| 中文字幕日韩欧美| 亚洲欧美日韩一区在线| 久久亚洲精品成人| 欧美高清激情视频| 51精品国产黑色丝袜高跟鞋| 欧美一乱一性一交一视频| 欧美一级淫片videoshd| 久久99国产精品久久久久久久久| 欧美日韩在线看| 在线成人激情视频| 亚洲成人黄色在线| 精品视频在线播放色网色视频| 日韩中文字幕网| 精品国偷自产在线视频99| 欧美精品免费在线| 成人国产精品久久久| 欧美超级乱淫片喷水| 亚洲国产精品人人爽夜夜爽| 精品视频中文字幕| 日韩中文在线不卡| 国产91在线播放九色快色| 亚洲大胆人体av| xxxxx成人.com| 欧美最顶级丰满的aⅴ艳星| 91超碰中文字幕久久精品| 狠狠操狠狠色综合网| 中国人与牲禽动交精品| 精品视频一区在线视频| 中文字幕精品一区二区精品| 亚洲欧美成人精品| 国产精品xxx视频| 欧美国产高跟鞋裸体秀xxxhd| 97免费视频在线| 亚洲国产另类 国产精品国产免费| 亚洲男人天堂久| 亚洲最大的成人网| www.日韩欧美| 高潮白浆女日韩av免费看| 91社区国产高清| 久久男人av资源网站|