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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

覆写

發布時間:2024/4/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 覆写 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 方法的覆寫:子類定義與父類方法名稱相同,參數個數和類型完全相同的方法。

2. 如果方法覆寫,那么在實例化子類的時候,調用的將會是子類所覆寫過的方法。

3. 覆寫的意義在于優化父類的功能。

4. 子類方法覆寫后,如果想要調用父類的方法,必須使用 super.方法()

5. 只要是在子類中調用父類的方法,一定要在方法前追加 super.方法()

class Older {public void print(){System.out.println("父類的方法");} }class Young extends Older {public void print(){System.out.println("子類覆寫了父類的方法");} }public class Demo{public static void main(String args[]){new Young().print();} } /*--------------------------------------------- E:\Javacode>java Demo 子類覆寫了父類的方法E:\Javacode>*/

?

方法覆寫的限制:

1. 被覆寫的方法不能擁有比父類更為嚴格的訪問權限

  public > default > private

  a. 如果父類用 private 定義,那么子類可以為 private, default, public

  b. 如果父類用 default 定義,那么子類可以為 default, public

  c. 如果父類用 public 定義,那么子類只能用 public 定義

?

方法重載與覆寫的區別:

重載:方法名稱相同,返回值,參數類型和個數不同,沒有權限限制,發生在 一個類中

覆寫:方法名稱,返回值,參數類型和個數都相同,被覆寫的方法不能有更嚴格的控制權限,發生在繼承關系中

?

屬性覆蓋:子類定義了與父類相同名稱的成員

class Old {String info = "我是你爸爸"; }class Son extends Old {String info = "我是你兒子";  //屬性覆蓋--如果父類的 info 用 private 封裝了,那么子類的info就和父類沒有什么關系了public void fun(){System.out.println(super.info);System.out.println(this.info);} }public class Demo{public static void main(String args[]){Son son = new Son();son.fun();} } /*--------------------------------------------- E:\Javacode>java Demo 我是你爸爸 我是你兒子E:\Javacode>*/

?

?

super 和 this 的區別:

1. 在程序類中使用 this 表示先從本類查找所需要的屬性或者方法。如果本來不存在再查找父類定義。

2. super 表示不查找子類,直接查找父類的屬性或者方法。

3. this 和 super 都可以進行構造方法的調用, this() 調用的是本類的構造方法, super() 是由子類調用父類的構造,兩者都需要放在構造方法的首行,所以不能同時出現。

4. this 可以表示當前對象。

轉載于:https://www.cnblogs.com/dododo70/p/10402453.html

總結

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

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