成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Java的方法覆蓋與變量覆蓋

開(kāi)發(fā) 后端
作為初學(xué)者2個(gè)比較容易出錯(cuò)的定義,方法覆蓋和變量覆蓋。下面我們一起來(lái)看看作者如何去探討Java的方法覆蓋和變量覆蓋。

首先,我們看看關(guān)于重載,和覆蓋(重寫(xiě))的簡(jiǎn)明定義:

方法重載:如果有兩個(gè)方法的方法名相同,但參數(shù)不一致,哪么可以說(shuō)一個(gè)方法是另一個(gè)方法的重載。

方法覆蓋:如果在子類(lèi)中定義一個(gè)方法,其名稱、返回類(lèi)型及參數(shù)簽名正好與父類(lèi)中某個(gè)方法的名稱、返回類(lèi)型及參數(shù)簽名相匹配,那么可以說(shuō),子類(lèi)的方法覆蓋了父類(lèi)的方法

我們重點(diǎn)說(shuō)說(shuō)覆蓋問(wèn)題,以如下代碼為例:

  1. public class People {  
  2.     public String getName() {  
  3.         return "people";  
  4.     }  
  5.  
  6. }  
  7. public class Student extends People {  
  8.       
  9.     public String getName() {  
  10.         return "student";  
  11.     }  
  12.       
  13. }  
  14. public static void main(String[] args) {  
  15.         People p=new People();  
  16.         System.out.println(p.getName());//運(yùn)行結(jié)果為people  
  17.     
  18.         Student s=new Student();  
  19.         System.out.println(s.getName());//運(yùn)行結(jié)果為student  
  20.     
  21.         People pp=new Student();  
  22.         System.out.println(pp.getName());//運(yùn)行結(jié)果為student  
  23.  
  24.     } 

上述結(jié)果說(shuō)明:student類(lèi)的getName方法成功覆蓋了父類(lèi)的方法

我們?cè)賮?lái)看看變量的覆蓋:

  1. public class People {  
  2.     protected String name="people";  
  3.  
  4.       
  5. }  
  6. public class Student extends People {  
  7.       
  8.     protected String name="student";  
  9.           
  10. }  
  11. public static void main(String[] args) {  
  12.           
  13.                   
  14.         People p=new People();  
  15.         System.out.println(p.name);//運(yùn)行結(jié)果為people  
  16.           
  17.         Student s=new Student();  
  18.         System.out.println(s.name);//運(yùn)行結(jié)果為student  
  19.           
  20.         People pp=new Student();  
  21.         System.out.println(pp.name);//運(yùn)行結(jié)果為people  
  22.  
  23.     } 

通過(guò)運(yùn)行結(jié)果我發(fā)現(xiàn):變量的覆蓋實(shí)際上與方法的不盡相同。

用我自己的話說(shuō):變量的覆蓋最多只能算是半吊子的覆蓋。

要不然,向上轉(zhuǎn)換與不會(huì)發(fā)生數(shù)據(jù)丟失現(xiàn)象

  1. People pp=new Student();  
  2. System.out.println(pp.name);//運(yùn)行結(jié)果為people 

就我個(gè)人的經(jīng)驗(yàn)來(lái)說(shuō):變量的覆蓋很容易讓人犯錯(cuò)誤.讓人感覺(jué)又回到了C++的繼承[這里不是指C++帶virtual的繼承]

***我們?cè)賮?lái)看一段代碼:

  1. public class People {  
  2.     protected String name="people";  
  3.     public String getName() {  
  4.         return name;  
  5.     }  
  6. }  
  7. public class Student extends People {  
  8.       
  9.     protected String name="student";  
  10.     public String getName() {  
  11.         return name;  
  12.     }  
  13. }  
  1. main(String[] args) {  
  2.           
  3.         People p=new People();  
  4.         System.out.println(p.getName());//運(yùn)行結(jié)果為people  
  5.           
  6.         Student s=new Student();  
  7.         System.out.println(s.getName());//運(yùn)行結(jié)果為student  
  8.           
  9.         People pp=new Student();  
  10.         System.out.println(pp.getName());//運(yùn)行結(jié)果為student  
  11.  
  12.     } 

顯然,如此的覆蓋,才是對(duì)我們更有用的覆蓋,因?yàn)檫@樣才能達(dá)到:把具體對(duì)象抽象為一般對(duì)象的目的,實(shí)同多態(tài)性

以上只是我個(gè)人的看法,有不對(duì)的地方歡迎指出來(lái)討論。

原文鏈接:http://blog.csdn.net/kuangxiang_panpan/article/details/7443046

【編輯推薦】

  1. Java類(lèi)變量和成員變量初始化過(guò)程
  2. JavaScript表格組件加載速度測(cè)試
  3. 5個(gè)讓人激動(dòng)的Java項(xiàng)目
  4. Java并行編程:從并行任務(wù)集獲取反饋
  5. Java反射機(jī)制初探
責(zé)任編輯:林師授 來(lái)源: kuangxiang_panpan博客
相關(guān)推薦

2010-03-30 17:54:05

無(wú)線熱點(diǎn)地區(qū)

2020-02-14 18:10:40

MySQL索引數(shù)據(jù)庫(kù)

2010-10-08 13:14:35

2009-06-17 15:25:59

Java學(xué)習(xí)

2021-10-12 20:56:17

Python子類(lèi)父類(lèi)

2009-05-26 09:31:00

C++重載覆蓋

2010-09-02 08:47:22

無(wú)線局域網(wǎng)蜂窩覆蓋

2022-08-25 06:27:39

vivoJaCoCo代碼覆蓋率

2009-09-09 11:28:40

Scala類(lèi)

2023-11-07 00:04:53

2020-06-17 12:22:44

C覆蓋重載

2010-03-15 11:01:11

無(wú)線覆蓋

2009-03-23 09:17:00

HSDPA網(wǎng)絡(luò)規(guī)劃3G

2011-09-19 09:29:21

Java微軟Azure

2015-06-08 09:08:38

PoWiFi無(wú)線技術(shù)

2017-09-07 11:20:47

飛魚(yú)星i-Home低輻射

2012-09-21 10:30:56

Linux項(xiàng)目代碼覆蓋率

2010-08-27 10:34:15

DB2配置數(shù)據(jù)庫(kù)

2016-01-27 09:48:44

無(wú)線覆蓋無(wú)線路由器

2015-06-05 09:27:13

無(wú)線WiFi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品免费国产一区二区三区四区 | 密室大逃脱第六季大神版在线观看 | 亚洲成av | 激情91 | 精品日韩一区 | 国产精品久久久久久婷婷天堂 | www.一区二区 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 日韩一区二区福利 | 成人做爰69片免费观看 | 97av在线| 国产一区二区三区在线视频 | 成年视频在线观看 | 在线中文字幕第一页 | 欧美黄色片 | 久久日韩精品一区二区三区 | 国产精品国产成人国产三级 | 日韩欧美视频网站 | 久久99精品久久久97夜夜嗨 | 欧美色999| 亚洲性人人天天夜夜摸 | 亚洲国产免费 | 久久国产精品视频免费看 | 一级黄a视频 | 国产精品一区二区三区在线 | 男女国产网站 | 在线观看www视频 | 天天草天天干 | 欧美成年网站 | 久久精品二区 | 日韩成人影院在线观看 | 一区日韩 | 成人影院免费视频 | 欧美日韩在线一区 | 精品在线 | 美女久久久久久久久 | 免费a网站 | 久草久草久草 | 亚洲午夜精品 | 97国产精品| 日韩三级一区 |