国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java繼承和覆寫

2019-11-15 01:05:31
字體:
來源:轉載
供稿:網友
java繼承和覆寫

繼承的目的? : 代碼的重用什么是繼承? extends 語法 : class 子類 extends 父類 { } 如果沒有聲明繼承 就默認繼承Object(所有類的祖類)靜態變量 : 不能被繼承,不過可以直接類名調用靜態方法 : 不能被繼承,可以調用成員變量 : 能被繼承,前提是子類沒有和父類相同的變量(數據類型 和 變量名) 如果有相同的變量,就不會繼承成員方法 : 會被繼承 會被覆寫局部變量 : 在方法中 無所謂被繼承 跟著方法走構造方法 : 不能 因為構造方法是用來實例化的 繼承過去,實例化的算誰的對象?所以肯定不能如果都沒有繼承 怎么會有覆寫這一說? 覆寫可以說是針對成員方法來說的 也可以說 除了成員方法,別的都沒被繼承覆寫的目的? : 代碼的重用什么是覆寫? : 返回值相同,方法名相同,參數列表相同(個數和數據類型都要相同)(針對成員方法來說的,因為別的不能被繼承,就沒有覆寫那一說) this 代表的是本類的對象super 代表的是父類型的特征 (并沒有實例化對象)this();代表調用本類的無參構造super();代表調用父類的無參構造,就算不寫,默認也會有this 和 super 都必須寫在第一行 所以 同一個方法中,this 和 super不能同時出現

代碼 : public class Ji_Cheng_Fu_Xie{ public static void main(String[] args){ Zi_Lei z = new Zi_Lei();//實例化當前類 z.m_1();//用對象名調用我自己的成員方法,應該沒問題吧(其實調用的是覆寫父類的成員方法) z.m_2();//用對象名調用自己的靜態方法,底層默認轉換為類名調用,(不存在覆寫,因為沒繼承) z.m_3();//我子類里面并沒有m_3方法吧,為什么會輸出?因為父類的繼承給我了,其實是有,上面m_2();是因為我覆寫了 ,所以就按我覆寫以后的來 ,沒覆寫,就還按父類繼承給我的來 System.out.PRintln( z.i );//調用成員變量 System.out.println( z.a );//調用靜態變量 //System.out.println( z.h );//為什么這個代碼就不能執行,報錯?因為我在父類聲明的時候,用了private 私有的 就不會被繼承 所以 報錯 Fu_Lei f = new Zi_Lei();//多態 : 父類的引用,指向的是子類的對象 f.m_1();//調用父類的m_1()方法 f.m_2();//調用父類m_2()方法(會輸出子類覆寫的那個 這就設計到多態,先去找父類的這個方法,看看被繼承了嗎,如果沒被繼承,就輸出父類的,如果被繼承了,就去子類,看看這個方法被覆寫了嗎,如果沒被覆寫,就輸出原來的成員方法,如果被覆寫了,就會輸出覆寫后的方法,所以這里輸出的是"我是子類的成員方法,我覆寫了父類的m_2" 因為我覆寫了) f.m_3();//但是這個就不一樣,這個會輸出"父類的成員方法 m_3" 因為是繼承了 但是我子類沒覆寫 }}class Fu_Lei{//聲明父類 一會被繼承的類 private int h = 100;//成員變量 這個能被繼承嗎? int i = 100;//成員變量 static int a = 10;//靜態變量 public static void m_1(){//靜態方法 (我繼承到子類了嗎?沒有,,,所以不存在覆寫) System.out.println( "父類的靜態方法 m_1" ); } public void m_2(){//在子類被覆寫的成員方法 System.out.println( "父類的成員方法 m_2" ); } public void m_3(){//在子類沒被覆寫的成員方法 System.out.println( "父類的成員方法 m_3" ); }}class Zi_Lei extends Fu_Lei{//聲明子類 并繼承父類 繼承語法 : class 子類 extends(繼承) 父類 public static void m_1(){//靜態方法 (不存在覆寫,因為沒被繼承) System.out.println( "我是子類的靜態方法,我并沒有覆寫父類的靜態方法,因為它沒繼承給我" ); } public void m_2(){//覆寫父類的成員方法m_2(); System.out.println( "我是子類的成員方法,我覆寫了父類的m_2" ); }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三都| 白山市| 邢台市| 嫩江县| 江西省| 康乐县| 大足县| 洱源县| 千阳县| 九寨沟县| 瑞金市| 南投县| 观塘区| 汪清县| 清原| 从江县| 秭归县| 广德县| 乌兰察布市| 祥云县| 乐亭县| 普宁市| 大田县| 界首市| 东兰县| 晋州市| 盐城市| 亳州市| 克山县| 航空| 名山县| 洪江市| 汉寿县| 晋中市| 宣化县| 沐川县| 伊吾县| 紫阳县| 新丰县| 菏泽市| 仙游县|