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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

java多态+多态中隐含的问题

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java多态+多态中隐含的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【0】RAEDME

0.1)本文總結于 core java volume 1, 感覺多態中存在的這個問題很新穎,故分享之;


【1】繼承與is-a法則

1.1)有一個用來判斷是否應該設計為繼承關系的規則: 這就是 is-a 規則, 它表明子類的每個對象也是超類的對象;
1.2)is-a法則: is-a 法則 的另一種表述法是 置換法則, 它表明程序中出現超類對象的任何地方都可以用子類對象置換;
如, 可以將子類的對象賦給超類變量:

Employee e; e = new Employee(); e = new Manager();

【2】多態

2.1)多態定義: 在java中, 對象變量是多態 的, 一個 Employee變量既可以引用一個 Employee 類對象,也可以引用一個 Employee 類的 任何子類對象;
2.2)從以下代碼,就可以看出 置換法則的優點:

Manager boss = new Manager(......); Employee[] staff = new Employee[3]; staff[0] = boss; staff[1] = new Employee("tangtang", 1, 2, 3, 4); staff[2] = new Employee("rongrong", 4, 3, 2, 1);

2.3)在上面的代碼中, 變量 staff[0] 和 boss 引用同一個對象, 但編譯器將 staff[0] 看做是 Employee對象;
2.4)這意味著, 可以這樣調用 boss.setBonus(…) ;但是不可以這么調用: staff[0].setBonus(……); 這是因為 staff[0] 聲明的類型是 Employee, 而setBonus 不是 Employee 類的方法;
2.5)也不能將一個超類的引用賦給子類變量,下面的賦值是非法的:
Manager m = staff[i]; 非法;原因很清楚, 不是所有的雇員都是經理;
Alert) 在java中, 子類數組的引用可以轉換成超類數組的引用, 而不需要采用強制類型轉換, 如,下面是一個經理數組:

Manager[] managers = new Manager[10];

將它轉換為 Employee 數組是完全合法的:

Employee[] staff = managers;

【3】java多態機制存在的問題(很隱秘, 這個問題)

3.1)這樣做后,存在的問題(切記 managers 和 staff 引用的是同一個數組):
如, staff[0] = new Employee(“XiaoTang”, ……);
編譯器竟然接納了這個賦值操作。但這里, staff[0] 和 managers[0] 引用的是同一個對象, 似乎我們把一個普通員工歸入經理的行列了, 這是一種很忌諱發生的事情;當調用 managers[0].setBonus(10000)的時候, 將會導致調用一個不存在的實例域, 進而攪亂相鄰存儲空間的內容;
3.2)為了確保不發生這類錯誤, 所有數組都要牢記創建它們的元素類型,并負責監督僅將類型兼容的引用存儲到數組中;

總結

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

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

主站蜘蛛池模板: free欧美性69护士呻吟 | 激烈的性高湖波多野结衣 | 国产毛片aaa| www.久久av.com | 亚洲在线观看av | av自拍网| 中文字幕国产视频 | 日韩精品视频在线观看网站 | 青青草草 | 三上悠亚ed2k | 三级视频黄色 | 黄瓜视频在线观看污 | 色婷婷狠狠18禁久久 | 黄色网页免费在线观看 | www.猫咪av| 久久精品人人爽 | 精品国产一区二区不卡 | 欧美日韩色综合 | 在线免费观看小视频 | 黄黄视频在线观看 | 色婷婷av一区二区三区之e本道 | 日本少妇吞精囗交 | 中文字幕av一区二区三区谷原希美 | 91久久精品夜夜躁日日躁欧美 | 中国三级黄色 | 久久伊人精品 | 国产情侣一区二区三区 | 男人天堂视频在线观看 | 大陆熟妇丰满多毛xxxⅹ | 欧美成在线观看 | 一级艳片新婚之夜 | 人妻无码久久精品人妻 | 欧美一级片播放 | 粉嫩久久99精品久久久久久夜 | 在线va视频 | 97精品超碰一区二区三区 | 99999精品视频 | av午夜在线 | 亚洲影视一区二区三区 | 人人澡人人澡 | 中文字幕一区二区三区乱码不卡 | 久久久久亚洲国产 | 69人妻一区二区三区 | www.777含羞草 | 欧美日韩在线视频免费 | 亚洲欧洲精品一区二区 | 国产亚洲美女精品久久久2020 | 一区二区三区不卡视频 | 天天爽夜夜爽夜夜爽精品视频 | 日韩特黄毛片 | 欧美爽爽爽 | 日韩婷婷| 又嫩又硬又黄又爽的视频 | 一级特黄aa大片免费播放 | 国产av一区二区三区精品 | av手机免费观看 | 国产一区二区三区在线视频观看 | 国产精品一区二区精品 | 极品探花在线播放 | 国产精品毛片久久久 | 91精品国产色综合久久不卡蜜臀 | 欧美三级视频 | 网站一级片 | 亚洲欧美一区二区三区在线观看 | 国产精品无码毛片 | 91麻豆精品视频 | 青青青网 | 日韩色资源 | 国产女主播在线一区二区 | 欧美大片在线观看 | 黑人巨大精品欧美一区二区蜜桃 | 毛片视频免费 | 亚洲激情在线观看视频 | 日韩午夜片 | 久久久噜噜噜www成人 | 色婷婷伊人 | 少妇日皮视频 | 久久伊| 欧美一区在线观看视频 | 国产精品免费一区二区三区在线观看 | 好色先生视频污 | 国产不卡视频在线 | 丰满多毛的大隂户视频 | jzzijzzij日本成熟少妇 | 99自拍视频 | 成年人网站av | 91精品国产自产精品男人的天堂 | 天天艹天天 | 美女精品 | 天天色影院 | www黄色片网站 | 久久怡春院 | 国产97在线 | 亚洲 | 日韩精品免费电影 | 亚洲色图欧美在线 | 成人无码久久久久毛片 | 色姐 | 亚洲黄色在线播放 | 午夜在线你懂的 |