使用父類方法一定要用super嗎(寫給新人)

2021-08-14 00:02:07 字數 724 閱讀 4435

今天,在群裡有人問(估計是新手)。答案,不一定。只有當子類重寫了父類的方法時,如果需要用到父類的方法時,才要用super,表明這個方法時父類的方法不是子類的方法。不理解?上**:

father類

public class father 

public void printfonly(string str)

}

son類:

public class son extends father

public void test()

public static void main(string args)

}

執行結果:

什麼都不使用*****==>這是子類的方法

使用this*****==>這是子類的方法

使用super*****==>這是父類的方法

這是父類的方法,子類沒有重寫的方法====>子類沒重寫,就會呼叫父類的方法

str is **********=>子類變數

super.str is **********=>父類變數

子類沒有同名變數,就會去找父類的變數 **********=>父類變數,子類沒有同名變數

子類重寫printf方法,如果需要呼叫父類的方法就要加super,否則,預設呼叫子類的方法。對於變數也是一樣。

子類一定要實現父類的抽象方法?

using system using system.collections.generic using system.linq using system.text namespace 子抽象類是否一定要實現父抽象類的抽象方法 public abstract class element public ...

巨集一定要用大寫

被乙個巨集折騰了2次,才偶然發現問題。問題挺隱蔽的,也許是自己對bug出現後的表現,還不太敏感。以前認為巨集需要大寫,可能就是看著舒服,維護方便。經過這個bug後,增加了體會。巨集大寫可以降低除錯的難度,提高 的清晰度。最近維護的linux工程,為了出win版。中不可避免的用巨集隔開,或定義了一些在...

一定要用遞迴嗎?!

2017 02 14 今天看資料結構的時候,自己考慮了一下,如何用程式來實現這個函式。結果我的想法是利用迴圈的方式,而書上使用的方式是利用遞迴,所以就查了查這部分的內容,對比了下迴圈和遞迴的優缺點。首先,最重要的一點,就是這段函式的 盡量不使用遞迴。但是有時候,可能不使用遞迴,就會導致 量急劇上公升...