国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java 多態(tài)中繼承的轉(zhuǎn)型詳解與用法分析

Java 多態(tài)中繼承的轉(zhuǎn)型詳解與用法分析

2022-03-01 00:42執(zhí)久呀 Java教程

繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因為它允許創(chuàng)建分等級層次的類。繼承就是子類繼承父類的特征和行為,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為

一、前言

前面我們學(xué)習(xí)了多態(tài)的概述和使用,現(xiàn)在我們來學(xué)習(xí)前面剩下的轉(zhuǎn)型問題。

二、轉(zhuǎn)型

向上轉(zhuǎn)型

向下轉(zhuǎn)型

為什么會有轉(zhuǎn)型呢,前面我們也說到了,多態(tài)中的使用前提是有父類引用指向子類對象

還有多態(tài)的缺點就是不能訪問子類對象。(可以用到向下轉(zhuǎn)型訪問)

向上轉(zhuǎn)型

其實多態(tài)中的父類引用指向子類對象就是向下轉(zhuǎn)型,向下轉(zhuǎn)型就是子到父。

就是將子類所申請的空間賦值給父類。形式: fu f=new zi();

向下轉(zhuǎn)型

向下轉(zhuǎn)型的出現(xiàn)就是為了解決多態(tài)中無法訪問子類成員的問題,其實向下轉(zhuǎn)型本質(zhì)上

就是強轉(zhuǎn),由父到子,父類對象轉(zhuǎn)化為子類對象。形式:zi z= (zi)f ;

我們看個例子:

在fu類中

?
1
2
3
4
5
6
7
8
public class Fu {
  public   void show(){
        System.out.println("fu:1024程序員節(jié)");
    }
  public void play(){
      System.out.println("fu:1024不見不散");
    }
}

zi類中

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public class Zi extends Fu {
    @Override
    public void show() {//重寫fu類中的show方法
        super.show();
        System.out.println("zi:1024來了呀");
    }
    public void game(){
        System.out.println("zi:寫篇博客提提神");
    }
    public void juan(){
        System.out.println("zi:全員卷王");
    }
}

新建一個測試類

?
1
2
3
4
5
6
7
8
9
10
public class FuZiDemo {
    public static void main(String[] args) {
        Fu f=new Zi();//向上轉(zhuǎn)型
        Zi z=(Zi)f;//向下轉(zhuǎn)型
        z.show();
        z.game();
        z.juan();
        z.play();
    }
}

通過向上和向下轉(zhuǎn)型,此時我們可以訪問子類父類全部成員

Java 多態(tài)中繼承的轉(zhuǎn)型詳解與用法分析

其實雖然直接創(chuàng)建子類對象是非常方便的,但是我們多態(tài)的實現(xiàn)條件之一就是有

父類引用指向子類對象(接口的多態(tài)暫時不考慮)

?
1
2
3
4
5
6
7
8
9
10
11
public class FuZiDemo {
    public static void main(String[] args) {
 
        Zi z=new Zi();//通過子類直接創(chuàng)建對象
        z.show();
        z.game();
        z.juan();
        z.play();
 
    }
}

由上述結(jié)果可知,子類對象向上轉(zhuǎn)型為父類對象是不需要顯示轉(zhuǎn)換,而父類對象轉(zhuǎn)化

為子類對象時,需要顯示強制類型轉(zhuǎn)化。

友情提示:向下轉(zhuǎn)型還有幾點需要注意的地方:

①必須保證父類對象是子類的一個實例,否則程序報錯。

②向下轉(zhuǎn)型的對象可以訪問父類中的成員和方法,也可以訪問子類中的成員和方法。

?
1
2
3
4
5
6
7
8
public class Demo11 {
    public static void main(String[] args) {
     Animal a=new Dog();
      Dog g=(Dog)a;
     Cat c=(Cat)a;//??能否成功
 
    }
}

上述代碼中,父類對象a引用的是子類Dog對象,而不是Cat類對象,可以將a強

制轉(zhuǎn)化為Dog類型,不能a強制轉(zhuǎn)化為Cat類型,因為向下轉(zhuǎn)型必須確保父類對象是

子類的一個實例所以這個程序不能成功,且在運行時會出現(xiàn)轉(zhuǎn)換異常的警告。

三、instanceof運算符

instanceof的用處

由上可知,向下轉(zhuǎn)型必須確包父類對象是子類的一個實例,否則程序會異常,

instanceof 就是為了確保向下轉(zhuǎn)型不出現(xiàn)異常。instanceof運算符用來在運行時

指出對象是否是特定類的一個實例

instanceof的使用格式:

對象名 instanceof 類名

instanceof返回一個布爾值來指出這個對象是否是這個特定類或者使他的子類的

一個實例。返回true則是,反之則不是。

?
1
2
3
4
5
6
7
8
9
10
11
public class Demo11 {
    public static void main(String[] args) {
     Animal a=new Dog();
    if(a instanceof Dog){
      Dog g=(Dog)a;
    }
      if( a instanceof Cat){//判斷作用
        Cat c=(Cat)a;
      }
    }
}

所以我們在進行向下轉(zhuǎn)型之前采用instanceof運算符可以避免一些問題。

到此這篇關(guān)于Java 多態(tài)中繼承的轉(zhuǎn)型詳解與用法分析的文章就介紹到這了,更多相關(guān)Java 多態(tài)中繼承的轉(zhuǎn)型內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/weixin_60719453/article/details/120945253

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 最新中文字幕视频 | 国产一区二区av | 久久久久久久久久久久免费 | 嫩草91| 国产精品久久久久久久久 | 欧美一区二区小视频 | 欧美影视一区二区三区 | 免费观看av电影 | 国产a√ | 精品成人 | 午夜成人免费视频 | 欧美一区2区三区4区公司二百 | 国产在线一区二区 | 91精品国产色综合久久 | 国产欧美在线观看 | 日本精品久久 | 国产在线a | 精品国产欧美一区二区三区成人 | 91视视频在线观看入口直接观看 | 欧美一区2区三区4区公司二百 | 国产亚洲精品美女久久久久久久久久 | 久久久久国产一区二区三区 | 一区二区电影 | 欧美一区亚洲一区 | 国产亚洲欧美一区二区 | 欧美色综合天天久久综合精品 | 精品成人久久 | 国产精品久久久久久中文字 | 99久久婷婷 | 中文久久| 国产精品久久久久永久免费观看 | 日韩成年网站 | 欧美不卡一区二区三区 | 黄网在线观看 | 成人免费激情视频 | 北条麻妃一区二区三区在线观看 | 中文字幕成人 | 一级一毛片| 一区二区三区视频免费 | 国产精品久久久久久吹潮 | 亚洲免费视频一区二区 |