App下載

Java面向對象多態(tài)之向下轉型基礎知識內容及具體代碼展示

猿友 2021-07-27 10:58:36 瀏覽數(shù) (1696)
反饋

Java語言中多態(tài)屬于面向對象的三大特性之一,向下轉型屬于多態(tài)中一個比較重要的知識點。下面我將通過文章為大家介紹一下多態(tài)中關于向下轉型的知識,并用Java實例代碼展示具體使用方法。

1、概念

向下轉型就是父類對象轉成子類對象。我們把一個父類引用 Animal類型的引用 給了一個 Bird類型 的引用,這就是向下轉型

2、格式

子類 子類對象=(子類)父類實例

3、注意

向下轉型的時候一定要進行強制類型轉換

4、實例

class Animal {
    public String name;
    public void eat() {
        System.out.println(this.name + " 正在吃");
    }
}
class Cat extends Animal {
 
}
class Bird extends Animal {
    public int age;
    public void fly() {
        System.out.println(this.name+"起飛");
    }
}
public class Test extends TestDemo {
    public static void main(String[] args) {
        Animal animal = new Animal();
        Bird bird = (Bird) animal;//必須進行強制類型轉換
    }
}

Java向下轉型的意義

一開始學習 Java 時不重視向下轉型。一直搞不清楚向下轉型的意義和用途,不清楚其實就是不會,那開發(fā)的過程肯定也想不到用向下轉型。

其實向上轉型和向下轉型都是很重要的,可能我們平時見向上轉型多一點,向上轉型也比較好理解。

但是向下轉型,會不會覺得很傻,我是要用子類實例對象,先是生成子類實例賦值給父類引用,在將父類引用向下強轉給子類

引用,這不是多此一舉嗎?我不向上轉型也不向下轉型,直接用子類實例就行了。

我開始學習Java時也是這么想的,這誤區(qū)導致我覺得向下轉型就是沒用的。

隨著技術的提升,我在看開源的項目學習,發(fā)現(xiàn)很多地方都用了向下轉型的技術,這就讓我重視了起來,想要重新來復習(學習)這個知識點。也是搜索了許多博客文章,但都沒具體說明向下轉型,只是給了例子演示怎么使用,反而是向上轉型講了一堆(可能是我沒找到)。

到此這篇關于 Java 面向對象中多態(tài)特性的向下轉型基礎知識和代碼展示的文章就介紹到這了,想要了解更多相關 Java 面向對象的知識或多態(tài)其他方面的內容請搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持我們!


0 人點贊