重寫是發生在繼承當中,子類將從父類中繼承的某些方法重新構造的一個過程,這個方法的前提是必須與父類的這個方法的返回值型別,引數型別,引數個數,引數順序完全一樣,比如說父類中有個方法是eat而這個方法的輸出是"我想吃水果",子類想引用父類中的eat方法,並且想讓它變得很具體,那麼輸出就可以改為“我想吃蘋果”等等,總結一下就是,子類想引用父類方法不想做出改變那麼就直接super呼叫,但是想讓改方法在子類中變得更加具體,就必須重寫。
抽象abstract:字面意思就可以看出他是不具體的一個東西,所以可以理解為它是一種規則,如果你知道interface那麼就能更好的理解了,因為介面就是抽象到極致的特殊抽象類。abstract不僅可以修飾類也可以修飾方法,修飾類的時候它就是抽象類,類中可以有抽象方法也可以不包含抽象方法,主要特點是它是不被允許自己呼叫自己的構造方法的,只能被子類繼承,子類去呼叫它裡面的方法,而且如果抽象類中有抽象方法,那麼子類必須具體實現這個方法才可以繼承,或者子類也是一個抽象類才可以繼承。當abstract修飾方法的時候就是抽象方法了,一個類中有抽象方法,那麼這個類必定是抽象類,記住一點抽象類中不一定有抽象方法,但是有抽象方法的類一定是抽象類,而且抽象方法是沒有方法體的,就是沒有{}這個括號
重寫是發生在繼承當中,子類將從父類中繼承的某些方法重新構造的一個過程,這個方法的前提是必須與父類的這個方法的返回值型別,引數型別,引數個數,引數順序完全一樣,比如說父類中有個方法是eat而這個方法的輸出是"我想吃水果",子類想引用父類中的eat方法,並且想讓它變得很具體,那麼輸出就可以改為“我想吃蘋果”等等,總結一下就是,子類想引用父類方法不想做出改變那麼就直接super呼叫,但是想讓改方法在子類中變得更加具體,就必須重寫。
抽象abstract:字面意思就可以看出他是不具體的一個東西,所以可以理解為它是一種規則,如果你知道interface那麼就能更好的理解了,因為介面就是抽象到極致的特殊抽象類。abstract不僅可以修飾類也可以修飾方法,修飾類的時候它就是抽象類,類中可以有抽象方法也可以不包含抽象方法,主要特點是它是不被允許自己呼叫自己的構造方法的,只能被子類繼承,子類去呼叫它裡面的方法,而且如果抽象類中有抽象方法,那麼子類必須具體實現這個方法才可以繼承,或者子類也是一個抽象類才可以繼承。當abstract修飾方法的時候就是抽象方法了,一個類中有抽象方法,那麼這個類必定是抽象類,記住一點抽象類中不一定有抽象方法,但是有抽象方法的類一定是抽象類,而且抽象方法是沒有方法體的,就是沒有{}這個括號