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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

26Java中的多态

發布時間:2025/3/13 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 26Java中的多态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.多態的概述

多態指的是對象,即對象既有自己的形態,也有其父類的形態。

2.多態的格式和使用(Day111104.Demo01)

Demo01Multi.java

package Demo01;/* * 代碼中體現多態性,其實就是一句話:父類引用指向子類對象。 * 這就體現了多態的特點,一只貓被當作動物來對待 * 格式: * 父類名稱 對象名 = new 子類名稱(); * 或者 * 接口名稱 對象名 = new 實現類名稱(); * */ public class Demo01Multi {public static void main(String[] args) {//使用多態的寫法,左側父類的引用指向了右側子類的對象。Fu ha = new Zi();ha.method();//子類方法(右邊new的是誰,就是誰的)ha.methodFu();//父類特有方法(子類沒有便向上找父)}}

Fu.java

package Demo01;public class Fu {public void method() {System.out.println("父類方法");}public void methodFu() {System.out.println("父類特有方法");} }

Zi.java

package Demo01;public class Zi extends Fu{@Overridepublic void method() {System.out.println("子類方法");} }

3.多態中成員變量的使用特點(Day111104.Demo02)

Demo02MultiField.java

package Demo02;/* * 訪問成員變量的兩種方式: * 1.直接通過對象名稱訪問成員變量:看等號左邊是誰,優先用誰,沒有則向上找 * 2.間接通過成員方法訪問:看該方法屬于誰,優先用誰,沒有則向上找 * */public class Demo02MultiField {public static void main(String[] args) {//使用多態的寫法,父類引用指向子類對象Fu obj = new Zi();//成員變量是不能進行覆蓋重寫的System.out.println(obj.num);//父的10//System.out.println(obj.numZi);//2.間接通過成員方法訪問obj.showNum();//父:10,子類沒有覆蓋重寫時候;子:20,子類進行覆蓋重寫時候} }

Fu.java

package Demo02;public class Fu {int num = 10;public void showNum() {System.out.println(num);} }

Zi.java

package Demo02;public class Zi extends Fu{int num = 20;int numZi = 30;@Overridepublic void showNum() {System.out.println(num);} }

4.多態中成員方法的使用特點

Fu.java

package Demo02;public class Fu {int num = 10;public void showNum() {System.out.println(num);}public void method() {System.out.println("父類方法");}public void methodFu() {System.out.println("父類特有方法");} }

Zi.java

package Demo02;public class Zi extends Fu{int num = 20;int numZi = 30;@Overridepublic void showNum() {System.out.println(num);}@Overridepublic void method() {System.out.println("子類重寫父類的方法");}public void methodZi() {System.out.println("子類特有方法");} }

Demo02MultiMethod.java

package Demo02; /* * 在多態代碼中,成員方法的訪問規則是: * 1.看new的是誰,就優先用誰,沒有則向上找。 * * 口訣:編譯看左邊,運行看右邊。 * * 對比: * 成員變量:編譯看左邊,運行還看左邊。 * 成員方法:編譯看左邊,運行看右邊。 * */ public class Demo02MultiMethod {public static void main(String[] args) {Fu ha = new Zi();ha.method();//子類重寫父類的方法(父子都有,優先用子)ha.methodFu();//父類特有方法(子類沒有,父類有,則向上找到父)//編譯看左邊,左邊是Fu,Fu當中沒有methodZi方法,所以編譯報錯。//Fu.methodZi();//錯誤寫法} }

5.使用多態的好處


左邊的代碼一直都是不變的,讓代碼更加靈活統一。多態其實就是從老板的角度來看的,我不管你怎么做,我只要你工作就行。

總結

以上是生活随笔為你收集整理的26Java中的多态的全部內容,希望文章能夠幫你解決所遇到的問題。

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