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

秒懂抽象類和接口到底是什么垃圾

新聞
這幾天給別人講JavaSE基礎(chǔ),又把面向?qū)ο罂戳艘槐椋v的時(shí)候發(fā)現(xiàn)一個(gè)問題,就是當(dāng)時(shí)講抽象類和接口的時(shí)候說接口也是抽象類,是個(gè)特殊的抽象類,當(dāng)時(shí)聽的時(shí)候別人確實(shí)能聽懂,因?yàn)榇_實(shí)沒多少東西,但是真正用的時(shí)候總會(huì)猶豫,到底什么時(shí)候該用抽象類什么時(shí)候用接口呢?

  前言

這幾天給別人講JavaSE基礎(chǔ),又把面向?qū)ο罂戳艘槐椋v的時(shí)候發(fā)現(xiàn)一個(gè)問題,就是當(dāng)時(shí)講抽象類和接口的時(shí)候說接口也是抽象類,是個(gè)特殊的抽象類,當(dāng)時(shí)聽的時(shí)候別人確實(shí)能聽懂,因?yàn)榇_實(shí)沒多少東西,但是真正用的時(shí)候總會(huì)猶豫,到底什么時(shí)候該用抽象類什么時(shí)候用接口呢?

  如何區(qū)分使用抽象類和接口

大家在比較抽象類和接口的區(qū)別時(shí),一定要強(qiáng)調(diào)抽象類描述的是事物的本質(zhì),而接口描述的是事物的功能。比如:保溫杯是水杯,所以水杯應(yīng)該設(shè)計(jì)為抽象類,保溫杯有保溫的功能,所以保溫應(yīng)該設(shè)計(jì)為接口。

可理解為:

class 保溫杯 extends 水杯 implements 保溫

用實(shí)例說話 

  1. package 
  2.  zmldemo 
  3. //水杯抽象類 
  4. public 
  5.   
  6. abstract 
  7.   
  8. class 
  9.   
  10. Cup 
  11.   
  12.       
  13. String 
  14.  name 
  15. //水杯名稱 
  16.       
  17. String 
  18.  color 
  19. //水杯顏色 
  20.  
  21.      
  22. public 
  23.   
  24. Cup 
  25. () 
  26.   
  27.      
  28.  
  29.      
  30. public 
  31.   
  32. Cup 
  33. String 
  34.  name 
  35.   
  36. String 
  37.  color 
  38.   
  39.          
  40. this 
  41. name  
  42.  name 
  43.          
  44. this 
  45. color  
  46.  color 
  47.      
  48.      
  49. //水杯使用說明方法 
  50.      
  51. public 
  52.   
  53. abstract 
  54.   
  55. void 
  56.  useCup 
  57. (); 

 

  1. package 
  2.  zmldemo 
  3. //保溫接口 
  4. public 
  5.   
  6. interface 
  7.   
  8. BaoWen 
  9.   
  10.      
  11. //保溫方法 
  12.      
  13. public 
  14.   
  15. void 
  16.  baoWen 
  17. (); 

 

  1. package 
  2.  zmldemo 
  3. //刷牙杯 
  4. public 
  5.   
  6. class 
  7.   
  8. ShuaYaBei 
  9.   
  10. extends 
  11.   
  12. Cup 
  13.   
  14.      
  15. public 
  16.   
  17. ShuaYaBei 
  18. () 
  19.   
  20.      
  21.  
  22.      
  23. public 
  24.   
  25. ShuaYaBei 
  26. String 
  27.  name 
  28.   
  29. String 
  30.  color 
  31.   
  32.          
  33. super 
  34. name 
  35.  color 
  36. ); 
  37.      
  38.  
  39.      
  40. @Override 
  41.      
  42. public 
  43.   
  44. void 
  45.  useCup 
  46. () 
  47.   
  48.          
  49. System 
  50. out 
  51. println 
  52. "我是" 
  53. this 
  54. color 
  55. "的" 
  56. this 
  57. name 
  58. "," 
  59. "我是用來刷牙的" 
  60. ); 
  61.      

 

  1. package 
  2.  zmldemo 
  3. //保溫杯 
  4. public 
  5.   
  6. class 
  7.   
  8. BaoWenBei 
  9.   
  10. extends 
  11.   
  12. Cup 
  13.   
  14. implements 
  15.   
  16. BaoWen 
  17.  
  18.      
  19. public 
  20.   
  21. BaoWenBei 
  22. (){ 
  23.  
  24.      
  25.      
  26. public 
  27.   
  28. BaoWenBei 
  29. String 
  30.  name 
  31. String 
  32.  color 
  33. ){ 
  34.          
  35. super 
  36. name 
  37. color 
  38. ); 
  39.      
  40.  
  41.  
  42.      
  43. @Override 
  44.      
  45. public 
  46.   
  47. void 
  48.  useCup 
  49. () 
  50.   
  51.          
  52. System 
  53. out 
  54. println 
  55. "我是" 
  56. this 
  57. color 
  58. "的" 
  59. this 
  60. name 
  61. "," 
  62. "我是用來喝水的" 
  63. ); 
  64.      
  65.  
  66.      
  67. @Override 
  68.      
  69. public 
  70.   
  71. void 
  72.  baoWen 
  73. () 
  74.   
  75.          
  76. System 
  77. out 
  78. println 
  79. "我能對(duì)水杯里的水進(jìn)行保溫" 
  80. ); 
  81.      

 

  1. package 
  2.  zmldemo 
  3.  
  4. public 
  5.   
  6. class 
  7.   
  8. CupTest 
  9.   
  10.      
  11. public 
  12.   
  13. static 
  14.   
  15. void 
  16.  main 
  17. String 
  18. [] 
  19.  args 
  20.   
  21.          
  22. ShuaYaBei 
  23.  shuaYaBei  
  24.   
  25. new 
  26.   
  27. ShuaYaBei 
  28. "刷牙杯" 
  29. "紅色" 
  30. ); 
  31.         shuaYaBei 
  32. useCup 
  33. (); 
  34.  
  35.          
  36. BaoWenBei 
  37.  baoWenBei  
  38.   
  39. new 
  40.   
  41. BaoWenBei 
  42. "保溫杯" 
  43. "金黃色" 
  44. ); 
  45.         baoWenBei 
  46. useCup 
  47. (); 
  48.         baoWenBei 
  49. baoWen 
  50. (); 
  51.  
  52.  
  53.      

運(yùn)行結(jié)果: 

 

我想看到這,學(xué)過抽象類和接口的朋友應(yīng)該能理解了,那本篇標(biāo)題“抽象類和接口到底是什么垃圾——秒懂”對(duì)應(yīng)的部分完成了,既然都說到這了,再來點(diǎn)延申。

話題延申

抽象類和接口能實(shí)例化對(duì)象嗎?

這個(gè)問題其實(shí)也有很多人糾結(jié),我之前專門有過對(duì)這個(gè)問題在網(wǎng)上進(jìn)行搜索查詢,看了好幾篇?jiǎng)e人寫的博客,結(jié)果答案不一,理解各不相同,有的博客里的理解還有錯(cuò)誤,容易對(duì)別人誤導(dǎo),后來我自己查資料,用自己的理解寫了一篇博客《抽象類能實(shí)例化嗎?——口氣很強(qiáng)硬——“不能”(詳解)》,結(jié)果當(dāng)然正如其名所示,是不能的,至于為何,里面有詳細(xì)的解釋,大家自行查閱,在這就不做補(bǔ)充了。

 

責(zé)任編輯:武曉燕 來源: 泰斗賢若如
相關(guān)推薦

2023-11-01 10:26:02

燈塔工廠數(shù)字化轉(zhuǎn)型

2009-08-14 15:42:11

什么是.NET接口.NET抽象類

2020-10-19 13:03:16

Java 8接口抽象類

2010-03-04 09:40:04

Java接口抽象類

2011-06-28 10:55:20

C#接口抽象類

2012-02-29 09:32:01

Java

2020-10-14 06:22:14

UWB技術(shù)感知

2020-09-27 06:53:57

MavenCDNwrapper

2020-09-22 08:22:28

快充

2010-11-01 01:25:36

Windows NT

2021-12-23 07:11:31

開發(fā)

2011-04-27 09:30:48

企業(yè)架構(gòu)

2009-08-10 10:04:25

C#抽象類C#接口

2012-09-03 09:58:09

2009-04-30 15:15:01

Java抽象類接口

2011-07-12 15:58:48

java抽象類接口

2009-07-30 18:36:00

C#接口C#抽象類

2021-01-21 21:24:34

DevOps開發(fā)工具

2021-02-05 10:03:31

區(qū)塊鏈技術(shù)智能

2023-07-12 15:32:49

人工智能AI
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 999久久久免费精品国产 | 国产精品久久久久久久久久久新郎 | 久草视频在线播放 | 国产精品一区二区电影 | 欧美一区二区三区在线观看视频 | 一区二区视频在线 | 亚洲第1页| av无遮挡 | 蜜桃视频一区二区三区 | 狠狠的干| 亚洲一区二区三区久久久 | 久久专区 | 奇米影视首页 | 亚洲欧洲在线看 | 亚洲自拍偷拍欧美 | 欧美日韩国产在线观看 | 国产精品毛片在线 | 欧美一区二区在线观看 | 精品中文字幕一区 | 伊人伊人 | 日韩一区二区在线视频 | av网站观看 | 波多野结衣电影一区 | 91精品国产乱码久久久久久久 | 久草www| 午夜久久久久久久久久一区二区 | 亚洲激精日韩激精欧美精品 | 精品成人免费视频 | 日韩欧美中文字幕在线视频 | 欧美日韩不卡合集视频 | 久久另类视频 | 九九导航 | 中文字幕欧美一区二区 | 黄色一级电影在线观看 | 五月婷婷丁香婷婷 | 日韩欧美三级 | 91中文| 欧美一区二区三区精品免费 | 午夜网站视频 | 亚洲国产一 | 国产精品久久久久一区二区三区 |