日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA知识基础(十):多态

發布時間:2025/3/8 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA知识基础(十):多态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.概述

1.1多態的定義
多態是同一個行為具有多個不同表現形式或形態的能力。
多態就是同一個接口,使用不同的實例而執行不同操作。
多態性是對象多種表現形式的體現。
1.2多態的優點

  • 消除類型之間的耦合關系
  • 可替換性
  • 可擴充性
  • 接口性
  • 靈活性
  • 簡化性
    1.3多態存在的三個必要條件
    繼承
    重寫
    父類引用指向子類對象
  • 2.多態的實現方式

    方式一:重寫:
    這個內容已經在上一章節詳細講過,就不再闡述,詳細可訪問:Java 重寫(Override)與重載(Overload)。
    方式二:接口

  • 生活中的接口最具代表性的就是插座,例如一個三接頭的插頭都能接在三孔插座中,因為這個是每個國家都有各自規定的接口規則,有可能到國外就不行,那是因為國外自己定義的接口類型。
  • java中的接口類似于生活中的接口,就是一些方法特征的集合,但沒有方法的實現。具體可以看 java接口 這一章節的內容。
  • 方式三:抽象類和抽象方法
    https://blog.csdn.net/weixin_45187434/article/details/106320376

    3.向上轉型&向下轉型

    向上轉型:多態本身是子類類型向父類類型向上轉換的過程,其中,這個過程是默認的。你可以把這個過程理解為基本類型的小類型轉大類型自動轉換,不需要強制轉換。 當父類引用指向一個子類對象時,便是向上轉型。 向上轉型格式:

    父類類型 變量名 = new 子類類型(); 如:Father f= new Son();

    向下轉型:父類類型向子類類型向下轉換的過程,這個過程是強制的。同樣可以把這個過程理解為基本類型的自動轉換,大類型轉小類型需要強制轉換。一個已經向上轉型的子類對象,將父類引用轉為子類引用,可以使用強制類型轉換的格式,向下轉使用格式:

    Father father = new Son();
    子類類型 變量名 = (子類類型) 父類變量名; 如:Son s =(Son) father;

    4.例題

    package Polymorphic; //爺爺類 class Ye {public String show(Sun obj) {return ("Ye and Sun");}public String show(Ye obj) {return ("Ye and Ye");}} //爸爸類 class Fu extends Ye {public String show(Fu obj) {return ("Fu and Fu");}public String show(Ye obj) {return ("Fu and Ye");} } //兒子類 class Zi extends Fu {} //孫子類 class Sun extends Fu {} public class PolymorphicTest {public static void main(String[] args) {Ye y = new Ye();Ye y2 = new Fu(); //向上Fu f = new Fu();Zi z = new Zi();Sun s = new Sun();System.out.println("第一題 " + y.show(f));System.out.println("第二題 " + y.show(z));System.out.println("第三題 " + y.show(s));System.out.println("第四題 " + y2.show(f)); System.out.println("第五題 " + y2.show(z));System.out.println("第六題 " + y2.show(s));System.out.println("第七題 " + f.show(f));System.out.println("第八題 " + f.show(z));System.out.println("第九題 " + f.show(s));} }

    4.例題答案

    第一題 Ye and Ye
    第二題 Ye and Ye
    第三題 Ye and Sun
    第四題 Fu and Ye
    第五題 Fu and Ye
    第六題 Ye and Sun
    第七題 Fu and Fu
    第八題 Fu and Fu
    第九題 Ye and Sun

    總結

    以上是生活随笔為你收集整理的JAVA知识基础(十):多态的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。